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 reposito-
     ries.

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

DESCRIPTION
     gitup is a minimalist, dependency-free program used to clone or synchronize
     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.

     -p 	 Path  to  an  alternative  local repository (override the `tar-
		 get_directory` that is specified in gitup.conf(5)).   The  SHA1
		 checksum  of  the  new  absolute target path is appended to the
		 known paths filename in /var/db/gitup allowing  multiple  inde-
		 pendent copies of the repository to exist.

     -r 	 Repair the local repository, replacing any files that are miss-
		 ing 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 environ-
     ment 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  reconstruct  data  that
     would  normally  be  stored  in  the pack file.  Discrepancies in the local
     repository will be flagged as errors and gitup will attempt to any  restore
     any  missing or modified files from the server, returning the local reposi-
     tory 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	argument
     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  inten-
     tional,  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 repair
     has occurred and returns EXIT_FAILURE upon any unsuccessful operation.

SEE ALSO
     gitup.conf(5)

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

FreeBSD ports 15.quarterly	 October 7, 2023		      GITUP(1)()

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

home | help