Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GITUP(1)			     LOCAL			      GITUP(1)

NAME
     gitup -- A	minimalist, dependency-free program to clone/pull Git reposi-
     tories.

SYNOPSIS
     gitup section [-cklrSV] [-C configuration file] [-d display depth]
	   [-h commit checksum]	[-I ignore paths that contain this string]
	   [-t tag] [-u	pack file] [-v verbosity] [-w commit checksum]

DESCRIPTION
     gitup is a	minimalist, dependency-free program used to clone or synchro-
     nize a local copy of a Git	repository.  It	is not intended	to be a	full-
     featured replacement for the devel/git port, but rather, is intended to
     provide a convenient way for users	to update FreeBSD source files without
     having to install devel/git (and all of its related dependencies) and
     without the substantial disk overhead that	normally accompany local Git
     repositories.

     gitup currently only supports anonymous, encrypted	transfers via the
     "Smart HTTP" protocol over	HTTPS.

OPTIONS
     Configuration options are stored in /usr/local/etc/gitup.conf and are
     grouped into commonly used	sections (additional custom sections can be
     added to this file).  The following command line options can be used to
     override the default and/or section values:

     -C		 The location of the configuration file	to use.

     -c		 Force gitup to	clone the repository.

     -d		 Limit the display of updated files to the specified number of
		 directories deep.  (0 = display the full path of each file).

     -h		 The "have" commit checksum of the repository to use.  Only
		 needed	when importing a pack file generated by	the official
		 Git client.

     -I		 Ignore	paths that contain this	string.	 Regular expressions
		 are supported.

     -k		 Save a	copy of	the pack data.

     -l		 Low memory mode -- temporarily	stores uncompressed object
		 data to disk instead of memory.

     -r		 Repair	the local repository, replacing	any files that are
		 missing or have been modified.

     -S		 Specify the source IP address on the local machine to use.

     -t		 Fetch the commit referenced by	the specified tag.

     -u		 Skip the download of the pack data and	use the	specified file
		 instead.

     -v		 How verbose the output	should be (0 = no output, 1 = show
		 only names of the updated files, 2 = also show	all files that
		 are being ignored, 3 =	also show commands sent	to the server
		 and additional	debugging information).

     -V		 Display the version number and	exit.

     -w		 The "want" commit checksum of the repository to retrieve.

FILES
     /usr/local/etc/gitup.conf	Default	location of the	gitup configuration
				file.

     /var/db/gitup		Default	location where gitup stores its	lists
				of known files.	 The files stored here are
				used during subsequent runs to reconstruct the
				local repository state and confirm that	the
				local tree is intact.

ENVIRONMENT
     Proxy server host,	port, username and password values can be entered in
     "/usr/local/etc/gitup.conf" or can	be specified in	the https_proxy	envi-
     ronment variable:

	   https://server:port/
	   https://username:password@server:port/

CAVEATS
     Because gitup neither uses	nor updates the	.git directory,	it is not a
     drop-in replacement for the official Git client.  gitup should only be
     used on repositories originally cloned with the official Git client if
     there is no intention to ever use the official Git	client on that local
     repository	again.

     To	keep its footprint as small as possible, gitup does not	retain pack
     files downloaded from the repository (unless explicitly instructed	to do
     so) and does not use a saved pack file (unless explicitly instructed to
     do	so).  gitup relies on the known	remote files lists stored in
     /var/db/gitup and the current state of the	local repository to recon-
     struct data that would normally be	stored in the pack file.  Discrepan-
     cies in the local repository will be flagged as errors and	gitup will at-
     tempt to any restore any missing or modified files	from the server, re-
     turning the local repository to a clean state.

     Extra care	should be given	when specifying	a commit to pull as gitup only
     performs shallow clones and does not have access to a repository's	full
     commit history.  If a commit is passed in via the -w command line argu-
     ment and that commit exists on a different	branch,	the Git	server will
     neither object nor	inform gitup of	the branch change and will send	a pack
     file that will convert the	local repository.  If the change of branches
     is	intentional, the relevant section in /usr/local/etc/gitup.conf will
     need to be	manually updated.

EXAMPLES
     Using the configuration options for commonly used repositories/branches
     stored in /usr/local/etc/gitup.conf, to clone/pull	a copy of the most re-
     cent revision of stable/12:

	   gitup stable

     To	retrieve a copy	of freebsd-ports at commit
     0123456789abcdef0123456789abcdef01234567:

	   gitup ports -w 0123456789abcdef0123456789abcdef01234567

EXIT STATUS
     gitup returns EXIT_SUCCESS	upon successful	operation, returns 2 if	a re-
     pair has occurred and returns EXIT_FAILURE	upon any unsuccessful opera-
     tion.

SEE ALSO
     gitup.conf(5)

AUTHORS
     John Mehr <jmehr@umn.edu> is the author of	gitup and this man page.

FreeBSD	13.0			 May 16, 2022			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | FILES | ENVIRONMENT | CAVEATS | EXAMPLES | EXIT STATUS | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gitup&sektion=1&manpath=FreeBSD+13.1-RELEASE+and+Ports>

home | help