Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Feb 8, 2007
  1. Linus Torvalds

    git reflog show

    torvalds authored Junio C Hamano committed
    It makes "git reflog [show]" act as
    
    	git log -g --pretty=oneline --abbrev-cmit
    
    and is fairly straightforward. So you can just write
    
    	git reflog
    
    or
    
    	git reflog show
    
    and it will show you the reflog in a nice format.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jan 29, 2007
  1. Make fsck and fsck-objects be builtins.

    Mark Wooding authored Junio C Hamano committed
    The earlier change df391b1 to rename fsck-objects to fsck broke
    fsck-objects.  This should fix it again.
    
    Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Tom Prince

    [PATCH] Rename git-repo-config to git-config.

    tomprince authored Junio C Hamano committed
    Signed-off-by: Tom Prince <tom.prince@ualberta.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jan 10, 2007
  1. Shawn O. Pearce

    Make git-describe a builtin.

    spearce authored Junio C Hamano committed
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 27, 2006
  1. Merge branch 'jc/fsck-reflog'

    Junio C Hamano authored
    * jc/fsck-reflog:
      Add git-reflog to .gitignore
      reflog expire: do not punt on tags that point at non commits.
      reflog expire: prune commits that are not incomplete
      Don't crash during repack of a reflog with pruned commits.
      git reflog expire
      Move in_merge_bases() to commit.c
      reflog: fix warning message.
      Teach git-repack to preserve objects referred to by reflog entries.
      Protect commits recorded in reflog from pruning.
      add for_each_reflog_ent() iterator
Commits on Dec 22, 2006
  1. dscho

    Make git-rerere a builtin

    dscho authored Junio C Hamano committed
    The perl version used modules which are non-standard in some setups.
    This patch brings the full power of rerere to a wider audience.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 21, 2006
  1. git reflog expire

    Junio C Hamano authored
    This prepares a place to collect reflog management subcommands,
    and implements "expire" action.
    
    	$ git reflog expire --dry-run \
    		--expire=4.weeks \
    		--expire-unreachable=1.week \
    		refs/heads/master
    
    The expiration uses two timestamps: --expire and --expire-unreachable.
    Entries older than expire time (defaults to 90 days), and entries older
    than expire-unreachable time (defaults to 30 days) and records a commit
    that has been rewound and made unreachable from the current tip of the
    ref are removed from the reflog.
    
    The parameter handling is still rough, but I think the
    core logic for expiration is already sound.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 6, 2006
  1. dscho

    Add builtin merge-file, a minimal replacement for RCS merge

    dscho authored Junio C Hamano committed
    merge-file has the same syntax as RCS merge, but supports only the
    "-L" option.
    
    For good measure, a test is added, which is quite minimal, though.
    
    [jc: further fix for compliation errors included.]
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 20, 2006
  1. dscho

    Build in shortlog

    dscho authored Junio C Hamano committed
    [jc: with minimum squelching of compiler warning under "-pedantic"
     compilation options.]
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 9, 2006
  1. git-pickaxe: retire pickaxe

    Junio C Hamano authored
    Just make it take over blame's place.  Documentation and command
    have all stopped mentioning "git-pickaxe".  The built-in synonym
    is left in the command table, so you can still say "git pickaxe",
    but it probably is a good idea to retire it as well.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 8, 2006
  1. Merge branch 'jc/pickaxe'

    Junio C Hamano authored
Commits on Nov 1, 2006
  1. Merge branch 'rs/cherry'

    Junio C Hamano authored
    * rs/cherry:
      Make git-cherry handle root trees
      Built-in cherry
  2. Merge branch 'lj/refs'

    Junio C Hamano authored
    * lj/refs: (63 commits)
      Fix show-ref usagestring
      t3200: git-branch testsuite update
      sha1_name.c: avoid compilation warnings.
      Make git-branch a builtin
      ref-log: fix D/F conflict coming from deleted refs.
      git-revert with conflicts to behave as git-merge with conflicts
      core.logallrefupdates thinko-fix
      git-pack-refs --all
      core.logallrefupdates create new log file only for branch heads.
      Remove bashism from t3210-pack-refs.sh
      ref-log: allow ref@{count} syntax.
      pack-refs: call fflush before fsync.
      pack-refs: use lockfile as everybody else does.
      git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.
      lock_ref_sha1_basic does not remove empty directories on BSD
      Do not create tag leading directories since git update-ref does it.
      Check that a tag exists using show-ref instead of looking for the ref file.
      Use git-update-ref to delete a tag instead of rm()ing the ref file.
      Fix refs.c;:repack_without_ref() clean-up path
      Clean up "git-branch.sh" and add remove recursive dir test cases.
      ...
Commits on Oct 25, 2006
  1. Merge for-each-ref to sync gitweb fully with 'next'

    Junio C Hamano authored
  2. Merge branch 'jc/web-blame'

    Junio C Hamano authored
    * jc/web-blame:
      gitweb: spell "blame --porcelain" with -p
      blame: Document and add help text for -f, -n, and -p
      gitweb: blame porcelain: lineno and orig lineno swapped
      Remove git-annotate.perl and create a builtin-alias for git-blame
      gitweb: use blame --porcelain
      git-blame --porcelain
      blame.c: move code to output metainfo into a separate function.
      git-blame: --show-number (and -n)
      git-blame: --show-name (and -f)
      blame.c: whitespace and formatting clean-up.
      Gitweb - provide site headers and footers
      gitweb: blame: Mouse-over commit-8 shows author and date
      gitweb: blame: print commit-8 on the leading row of a commit-block
      Revert 954a618
      gitweb: prepare for repositories with packed refs.
      gitweb: make leftmost column of blame less cluttered.
Commits on Oct 24, 2006
  1. Make git-branch a builtin

    Lars Hjemli authored Junio C Hamano committed
    This replaces git-branch.sh with builtin-branch.c
    
    The changes is basically a patch from Kristian H�gsberg, updated
    to apply onto current 'next'
    
    Signed-off-by: Lars Hjemli <hjemli@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Built-in cherry

    Rene Scharfe authored Junio C Hamano committed
    This replaces the shell script git-cherry with a version written in C.
    
    The behaviour of the new version differs from the original in two
    points: it has no long help any more, and it is handling the (optional)
    third parameter a bit differently.  Basically, it does the equivalent
    of
    
       ours=`git-rev-list $ours ^$limit ^$upstream`
    
    instead of
    
       ours=`git-rev-list $ours ^$limit`
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 22, 2006
  1. Make prune also run prune-packed

    J. Bruce Fields authored Junio C Hamano committed
    Both the git-prune manpage and everday.txt say that git-prune should also prune
    unpacked objects that are also found in packs, by running git prune-packed.
    
    Junio thought this was "a regression when prune was rewritten as a built-in."
    
    So modify prune to call prune-packed again.
    
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Commits on Oct 20, 2006
  1. git-pickaxe: blame rewritten.

    Junio C Hamano authored
    Currently it does what git-blame does, but only faster.
    
    More importantly, its internal structure is designed to support
    content movement (aka cut-and-paste) more easily by allowing
    more than one paths to be taken from the same commit.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 10, 2006
  1. pugmajere

    Remove git-annotate.perl and create a builtin-alias for git-blame

    pugmajere authored Junio C Hamano committed
    Signed-off-by: Ryan Anderson <ryan@michonline.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Sep 28, 2006
  1. Merge branch 'master' into lj/refs

    Junio C Hamano authored
    * master: (72 commits)
      runstatus: do not recurse into subdirectories if not needed
      grep: fix --fixed-strings combined with expression.
      grep: free expressions and patterns when done.
      Corrected copy-and-paste thinko in ignore executable bit test case.
      An illustration of rev-list --parents --pretty=raw
      Allow git-checkout when on a non-existant branch.
      gitweb: Decode long title for link tooltips
      git-svn: Fix fetch --no-ignore-externals with GIT_SVN_NO_LIB=1
      Ignore executable bit when adding files if filemode=0.
      Remove empty ref directories that prevent creating a ref.
      Use const for interpolate arguments
      git-archive: update documentation
      Deprecate merge-recursive.py
      gitweb: fix over-eager application of esc_html().
      Allow '(no author)' in git-svn's authors file.
      Allow 'svn fetch' on '(no date)' revisions in Subversion.
      git-repack: allow git-repack to run in subdirectory
      Remove upload-tar and make git-tar-tree a thin wrapper to git-archive
      git-tar-tree: Move code for git-archive --format=tar to archive-tar.c
      git-tar-tree: Remove duplicate git_config() call
      ...
Commits on Sep 27, 2006
  1. Merge branch 'jc/lt-ref2-with-lt-refs' into jc/ref-locking

    Junio C Hamano authored
    * jc/lt-ref2-with-lt-refs:
      Fix show-ref usage for --dereference.
      Document git-show-ref [-s|--hash] option.
      Add man page for git-show-ref
      gitignore: git-show-ref is a generated file.
      Use Linus' show ref in "git-branch.sh".
      Add [-s|--hash] option to Linus' show-ref.
      Teach "git checkout" to use git-show-ref
      Add "git show-ref" builtin command
Commits on Sep 23, 2006
  1. Remove git-zip-tree

    Rene Scharfe authored Junio C Hamano committed
    git-zip-tree can be safely removed because it was never part of a formal
    release.  This patch makes 'git-archive --format=zip' the one and only git
    ZIP file creation command.
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Sep 21, 2006
  1. Merge branch 'lt/refs' into jc/lt-ref2-with-lt-refs

    Junio C Hamano authored
    * lt/refs: (58 commits)
      git-pack-refs --prune
      pack-refs: do not pack symbolic refs.
      Tell between packed, unpacked and symbolic refs.
      Add callback data to for_each_ref() family.
      symbolit-ref: fix resolve_ref conversion.
      Fix broken sha1 locking
      fsck-objects: adjust to resolve_ref() clean-up.
      gitignore: git-pack-refs is a generated file.
      wt-status: use simplified resolve_ref to find current branch
      Fix t1400-update-ref test minimally
      Enable the packed refs file format
      Make ref resolution saner
      Add support for negative refs
      Start handling references internally as a sorted in-memory list
      gitweb fix validating pg (page) parameter
      git-repack(1): document --window and --depth
      git-apply(1): document --unidiff-zero
      gitweb: fix warnings in PATH_INFO code and add export_ok/strict_export
      upload-archive: monitor child communication even more carefully.
      gitweb: export options
      ...
  2. Merge branch 'lt/refs' into jc/for-each-ref-with-lt-refs

    Junio C Hamano authored
    * lt/refs: (58 commits)
      git-pack-refs --prune
      pack-refs: do not pack symbolic refs.
      Tell between packed, unpacked and symbolic refs.
      Add callback data to for_each_ref() family.
      symbolit-ref: fix resolve_ref conversion.
      Fix broken sha1 locking
      fsck-objects: adjust to resolve_ref() clean-up.
      gitignore: git-pack-refs is a generated file.
      wt-status: use simplified resolve_ref to find current branch
      Fix t1400-update-ref test minimally
      Enable the packed refs file format
      Make ref resolution saner
      Add support for negative refs
      Start handling references internally as a sorted in-memory list
      gitweb fix validating pg (page) parameter
      git-repack(1): document --window and --depth
      git-apply(1): document --unidiff-zero
      gitweb: fix warnings in PATH_INFO code and add export_ok/strict_export
      upload-archive: monitor child communication even more carefully.
      gitweb: export options
      ...
Commits on Sep 18, 2006
  1. Start handling references internally as a sorted in-memory list

    Linus Torvalds authored Junio C Hamano committed
    This also adds some very rudimentary support for the notion of packed
    refs.  HOWEVER! At this point it isn't used to actually look up a ref
    yet, only for listing them (ie "for_each_ref()" and friends see the
    packed refs, but none of the other single-ref lookup routines).
    
    Note how we keep two separate lists: one for the loose refs, and one for
    the packed refs we read. That's so that we can easily keep the two apart,
    and read only one set or the other (and still always make sure that the
    loose refs take precedence).
    
    [ From this, it's not actually obvious why we'd keep the two separate
      lists, but it's important to have the packed refs on their own list
      later on, when I add support for looking up a single loose one.
    
      For that case, we will want to read _just_ the packed refs in case the
      single-ref lookup fails, yet we may end up needing the other list at
      some point in the future, so keeping them separated is important ]
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Merge branch 'jk/diff'

    Junio C Hamano authored
    * jk/diff:
      wt-status: remove extraneous newline from 'deleted:' output
      git-status: document colorization config options
      Teach runstatus about --untracked
      git-commit.sh: convert run_status to a C builtin
      Move color option parsing out of diff.c and into color.[ch]
      diff: support custom callbacks for output
Commits on Sep 17, 2006
  1. Merge branch 'jc/archive'

    Junio C Hamano authored
    * jc/archive:
      git-tar-tree: devolve git-tar-tree into a wrapper for git-archive
      git-archive: inline default_parse_extra()
      builtin-archive.c: rename remote_request() to extract_remote_arg()
      upload-archive: monitor child communication more carefully.
      Add sideband status report to git-archive protocol
      Prepare larger packet buffer for upload-pack protocol.
      Teach --exec to git-archive --remote
      Add --verbose to git-archive
      archive: force line buffered output to stderr
      Use xstrdup instead of strdup in builtin-{tar,zip}-tree.c
      Move sideband server side support into reusable form.
      Move sideband client side support into reusable form.
      archive: allow remote to have more formats than we understand.
      git-archive: make compression level of ZIP archives configurable
      Add git-upload-archive
      git-archive: wire up ZIP format.
      git-archive: wire up TAR format.
      Add git-archive
Commits on Sep 16, 2006
  1. Add git-for-each-ref: helper for language bindings

    Junio C Hamano authored
    This adds a new command, git-for-each-ref.  You can have it iterate
    over refs and have it output various aspects of the objects they
    refer to.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Add "git show-ref" builtin command

    Linus Torvalds authored Junio C Hamano committed
    It's kind of like "git peek-remote", but works only locally (and thus
    avoids the whole overhead of git_connect()) and has some extra
    verification features.
    
    For example, it allows you to filter the results, and to choose whether
    you want the tag dereferencing or not. You can also use it to just test
    whether a particular ref exists.
    
    For example:
    
    	git show-ref master
    
    will show all references called "master", whether tags or heads or
    anything else, and regardless of how deep in the reference naming
    hierarchy they are (so it would show "refs/heads/master" but also
    "refs/remote/other-repo/master").
    
    When using the "--verify" flag, the command requires an exact ref path:
    
    	git show-ref --verify refs/heads/master
    
    will only match the exact branch called "master".
    
    If nothing matches, show-ref will return an error code of 1, and in the
    case of verification, it will show an error message.
    
    For scripting, you can ask it to be quiet with the "--quiet" flag, which
    allows you to do things like
    
    	git-show-ref --quiet --verify -- "refs/heads/$headname" ||
    		echo "$headname is not a valid branch"
    
    to check whether a particular branch exists or not (notice how we don't
    actually want to show any results, and we want to use the full refname for
    it in order to not trigger the problem with ambiguous partial matches).
    
    To show only tags, or only proper branch heads, use "--tags" and/or
    "--heads" respectively (using both means that it shows tags _and_ heads,
    but not other random references under the refs/ subdirectory).
    
    To do automatic tag object dereferencing, use the "-d" or "--dereference"
    flag, so you can do
    
    	git show-ref --tags --dereference
    
    to get a listing of all tags together with what they dereference.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Define fallback PATH_MAX on systems that do not define one in <limits.h>

    Junio C Hamano authored
    Notably on GNU/Hurd, as reported by Gerrit Pape.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Sep 9, 2006
  1. Add git-upload-archive

    Franck Bui-Huu authored Junio C Hamano committed
    This command implements the git archive protocol on the server
    side. This command is not intended to be used by the end user.
    Underlying git-archive command line options are sent over the
    protocol from "git-archive --remote=...", just like upload-tar
    currently does with "git-tar-tree=...".
    
    As for "git-archive" command implementation, this new command
    does not execute any existing "git-{tar,zip}-tree" but rely
    on the archive API defined by "git-archive" patch. Hence we
    get 2 good points:
    
     - "git-archive" and "git-upload-archive" share all option
       parsing code.
    
     - All kind of git-upload-{tar,zip} can be deprecated.
    
    Signed-off-by: Franck Bui-Huu <vagabon.xyz@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Add git-archive

    Franck Bui-Huu authored Junio C Hamano committed
    git-archive is a command to make TAR and ZIP archives of a git tree.
    It helps prevent a proliferation of git-{format}-tree commands.
    
    Instead of directly calling git-{tar,zip}-tree command, it defines
    a very simple API, that archiver should implement and register in
    "git-archive.c". This API is made up by 2 functions whose prototype
    is defined in "archive.h" file.
    
     - The first one is used to parse 'extra' parameters which have
       signification only for the specific archiver. That would allow
       different archive backends to have different kind of options.
    
     - The second one is used to ask to an archive backend to build
       the archive given some already resolved parameters.
    
    The main reason for making this API is to avoid using
    git-{tar,zip}-tree commands, hence making them useless. Maybe it's
    time for them to die ?
    
    It also implements remote operations by defining a very simple
    protocol: it first sends the name of the specific uploader followed
    the repository name (git-upload-tar git://example.org/repo.git).
    Then it sends options. It's done by sending a sequence of one
    argument per packet, with prefix "argument ", followed by a flush.
    
    The remote protocol is implemented in "git-archive.c" for client
    side and is triggered by "--remote=<repo>" option. For example,
    to fetch a TAR archive in a remote repo, you can issue:
    
    $ git archive --format=tar --remote=git://xxx/yyy/zzz.git HEAD
    
    We choose to not make a new command "git-fetch-archive" for example,
    avoind one more GIT command which should be nice for users (less
    commands to remember, keeps existing --remote option).
    
    Signed-off-by: Franck Bui-Huu <vagabon.xyz@gmail.com>
    Acked-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Sep 8, 2006
  1. Jeff King

    git-commit.sh: convert run_status to a C builtin

    peff authored Junio C Hamano committed
    This creates a new git-runstatus which should do roughly the same thing
    as the run_status function from git-commit.sh. Except for color support,
    the main focus has been to keep the output identical, so that it can be
    verified as correct and then used as a C platform for other improvements to
    the status printing code.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Aug 27, 2006
  1. Add git-zip-tree

    Rene Scharfe authored Junio C Hamano committed
    In the Windows world ZIP files are better supported than tar files.
    Windows even includes built-in support for ZIP files nowadays.
    
    git-zip-tree is similar to git-tar-tree; it creates ZIP files out of
    git trees.  It stores the commit ID (if available) in a ZIP file comment
    which can be extracted by unzip.
    
    There's still quite some room for improvement: this initial version
    supports no symlinks, calls write() way too often (three times per file)
    and there is no unit test.
    
    [jc: with a minor typefix to avoid void* arithmetic]
    
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Something went wrong with that request. Please try again.