Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Jan 29, 2007

  1. Tom Prince

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

    Signed-off-by: Tom Prince <tom.prince@ualberta.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Jan 12, 2007

  1. Make git-prune-packed a bit more chatty.

    Steven Grimm noticed that git-repack's verbosity is inconsistent
    because pack-objects is chatty and prune-packed is not.  This
    makes the latter a bit more chatty and gives -q option to
    squelch it.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Dec 21, 2006

  1. Teach git-repack to preserve objects referred to by reflog entries.

    This adds a new option --reflog to pack-objects and revision
    machinery; do not bother documenting it for now, since this is
    only useful for local repacking.
    
    When the option is passed, objects reachable from reflog entries
    are marked as interesting while computing the set of objects to
    pack.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Dec 13, 2006

  1. repacked packs should be read-only

    ... just like the other pack creating tools do.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Oct 29, 2006

  1. Shawn O. Pearce

    Only repack active packs by skipping over kept packs.

    During `git repack -a -d` only repack objects which are loose or
    which reside in an active (a non-kept) pack.  This allows the user
    to keep large packs as-is without continuous repacking and can be
    very helpful on large repositories.  It should also help us resolve
    a race condition between `git repack -a -d` and the new pack store
    functionality in `git-receive-pack`.
    
    Kept packs are those which have a corresponding .keep file in
    $GIT_OBJECT_DIRECTORY/pack.  That is pack-X.pack will be kept
    (not repacked and not deleted) if pack-X.keep exists in the same
    directory when `git repack -a -d` starts.
    
    Currently this feature is not documented and there is no user
    interface to keep an existing pack.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Oct 23, 2006

  1. Merge branch 'np/pack'

    * np/pack:
      add the capability for index-pack to read from a stream
      index-pack: compare only the first 20-bytes of the key.
      git-repack: repo.usedeltabaseoffset
      pack-objects: document --delta-base-offset option
      allow delta data reuse even if base object is a preferred base
      zap a debug remnant
      let the GIT native protocol use offsets to delta base when possible
      make pack data reuse compatible with both delta types
      make git-pack-objects able to create deltas with offset to base
      teach git-index-pack about deltas with offset to base
      teach git-unpack-objects about deltas with offset to base
      introduce delta objects with offset to base
    authored

Oct 14, 2006

  1. git-repack: repo.usedeltabaseoffset

    When configuration variable `repack.UseDeltaBaseOffset` is set
    for the repository, the command passes `--delta-base-offset`
    option to `git-pack-objects`; this typically results in slightly
    smaller packs, but the generated packs are incompatible with
    versions of git older than (and including) v1.4.3.
    
    We will make it default to true sometime in the future, but not
    for a while.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Sep 25, 2006

  1. Jeff King

    git-repack: allow git-repack to run in subdirectory

    Now that we explicitly create all tmpfiles below $GIT_DIR, there's no reason
    to care about which directory we're in.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Sep 20, 2006

  1. repack: use only pack-objects, not rev-list.

    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Sep 06, 2006

  1. git-repack: create new packs inside $GIT_DIR, not cwd

    Avoid failing when cwd is !writable by writing the
    packfiles in $GIT_DIR, which is more in line with other commands.
    
    Without this, git-repack was failing when run from crontab
    by non-root user accounts. For large repositories, this
    also makes the mv operation a lot cheaper, and avoids leaving
    temp packfiles around the fs upon failure.
    
    Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Aug 29, 2006

  1. Matthias Kestenholz

    Check if pack directory exists prior to descending into it

    This fixes the following warning:
    
    git-repack: line 42: cd: .git/objects/pack: No such file or directory
    
    This happens only, when git-repack -a is run without any packs in the
    repository.
    
    Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Jul 13, 2006

  1. git-repack: avoid redirecting stderr into git-pack-objects

    We are trying to catch error condition of git-rev-list and cause
    the downstream pack-objects to barf, but if you run rev-list
    with anything that mucks with its stderr (such as GIT_TRACE),
    any stderr output would cause the pipeline to fail.
    
    [jc: originally from Matthias Lederhofer, with a reworded error message.]
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Jun 25, 2006

  1. git-repack: Be careful when updating the same pack as an existing one.

    After a clone, packfiles are read-only by default and "mv" to
    replace the pack with a new one goes interactive, asking if the
    user wants to replace it.  If one is successfully moved and the
    other is not, the pack and its idx would become out-of-sync and
    corrupts the repository.
    
    Recovering is straightforward -- it is just the matter of
    finding the remaining .tmp-pack-* and make sure they are both
    moved -- but we should be extra careful not to do something so
    alarming to the users.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Jun 24, 2006

  1. git-repack -- respect -q and be quiet

    git-repack was passing the -q along to pack-objects but ignoring it
    itself. Correct the oversight.
    Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

May 07, 2006

  1. Merge branch 'fix'

    * fix:
      repack: honor -d even when no new pack was created
      clone: keep --reference even with -l -s
      repo-config: document what value_regexp does a bit more clearly.
      Release config lock if the regex is invalid
      core-tutorial.txt: escape asterisk
    authored
  2. Martin Waitz

    repack: honor -d even when no new pack was created

    If all objects are reachable via an alternate object store then we
    still have to remove all obsolete local packs.
    
    Signed-off-by: Martin Waitz <tali@admingilde.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Apr 19, 2006

  1. giladtest

    Allow "git repack" users to specify repacking window/depth

    .. but don't even bother documenting it. I don't think any normal person
    is supposed to ever really care, but it simplifies testing when you want
    to use the "git repack" wrapper rather than forcing you to use the core
    programs (which already do support the window/depth arguments, of course).
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Apr 03, 2006

  1. Jim Radford

    fix repacking with lots of tags

    Use git-rev-list's --all instead of git-rev-parse's to keep from
    hitting the shell's argument list length limits when repacking
    with lots of tags.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Mar 11, 2006

  1. repack: prune loose objects when -d is given

    [jc: the request originally came from Martin Atukunda, which was
     improved further by Alex Riesen]
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Feb 17, 2006

  1. git-repack: allow passing a couple of flags to pack-objects.

    A new flag -q makes underlying pack-objects less chatty.
    A new flag -f forces delta to be recomputed from scratch.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Dec 14, 2005

  1. git-repack: Usage string clean-up, emit usage at incorrect invocation

    Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Nov 25, 2005

  1. git-sh-setup: die if outside git repository.

    Now all the users of this script detect its exit status and die,
    complaining that it is outside git repository.  So move the code
    that dies from all callers to git-sh-setup script.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Nov 21, 2005

  1. giladtest

    git-repack: Properly abort in corrupt repository

    In a corrupt repository, git-repack produces a pack that does not
    contain needed objects without complaining, and the result of this
    combined with -d flag can be very painful -- e.g. a lossage of one
    tree object can lead to lossage of blobs reachable only through that
    tree.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Nov 19, 2005

  1. git-repack: do not do complex redundancy check.

    With "-a", redundant pack removal is trivial, and otherwise
    redundant pack removal is pointless; do not call
    git-redundant-pack from this script.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Nov 18, 2005

  1. Remove all old packfiles when doing "git repack -a -d"

    No point in running git-pack-redundant if we already know
    which packs are redundant.
    
    Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed
  2. git-repack: Fix variable name

    Three times remove_redandant -> remove_redundant.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Nov 12, 2005

  1. Make git-pack-redundant consider alt-odbs

    This patch changes git-pack-redundant so that packfiles
    in alternate object directories also are considered when
    deciding which objects are redundant.
    
    This functionality is controlled by the flag '--alt-odb'.
    
    Also convert the other flags to the long form, and update
    docs and git-repack accordingly.
    
    Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed
  2. Rename git-pack-intersect to git-pack-redundant

    This patch renames git-pack-intersect to git-pack-redundant
    as suggested by Petr Baudis. The new name reflects what the
    program does, rather than how it does it.
    
    Also fix a small argument parsing bug.
    
    Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed
  3. Make git-repack use git-pack-intersect.

    Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Oct 28, 2005

  1. giladtest

    Be marginally more careful about removing objects

    The git philosophy when it comes to disk accesses is "Laugh in the face of
    danger".
    
    Notably, since we never modify an existing object, we don't really care
    that deeply about flushing things to disk, since even if the machine
    crashes in the middle of a git operation, you can never really have lost
    any old work. At most, you'd need to figure out the proper heads (which
    git-fsck-objects can do for you) and re-do the operation.
    
    However, there's two exceptions to this: pruning and repacking. Those
    operations will actually _delete_ old objects that they know about in
    other ways (ie that they just repacked, or that they have found in other
    places).
    
    However, since they actually modify old state, we should thus be a bit
    more careful about them. If the machine crashes and the duplicate new
    objects haven't been flushed to disk, you can actually be in trouble.
    
    This is trivially stupid about it by calling "sync" before removing the
    objects. Not very smart, but we're talking about special operations than
    are usually done once a week if that.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Oct 13, 2005

  1. giladtest

    Add "-l" flag for repacking only local packs

    This uses the new "--local" flag to git-pack-objects.  It currently only
    makes a difference together with "-a", since a normal incremental repack
    won't pack any packed objects at all (whether local or remote).
    
    Eventually, it might end up skipping any objects that aren't local to
    the current object directory, but for now it only knows to skip packed
    objects.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored Junio C Hamano committed

Sep 18, 2005

  1. Archive-destroying "git repack -a -d" bug.

    Using "git repack -a -d" can destroy your git archive if you use it
    twice in succession, because the new pack can be called the same as
    the old pack.  Found by Linus.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored

Sep 08, 2005

  1. Big tool rename.

    As promised, this is the "big tool rename" patch.  The primary differences
    since 0.99.6 are:
    
      (1) git-*-script are no more.  The commands installed do not
          have any such suffix so users do not have to remember if
          something is implemented as a shell script or not.
    
      (2) Many command names with 'cache' in them are renamed with
          'index' if that is what they mean.
    
    There are backward compatibility symblic links so that you and
    Porcelains can keep using the old names, but the backward
    compatibility support  is expected to be removed in the near
    future.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored
Something went wrong with that request. Please try again.