Permalink
Commits on Dec 23, 2005
  1. GIT 1.0.3

    Junio C Hamano committed Dec 23, 2005
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 22, 2005
  1. sha1_to_hex: properly terminate the SHA1

    dscho committed with Junio C Hamano Dec 22, 2005
    sha1_to_hex() returns a pointer to a static buffer. Some of its users
    modify that buffer by appending a newline character. Other users rely
    on the fact that you can call
    
    	printf("%s", sha1_to_hex(sha1));
    
    Just to be on the safe side, terminate the SHA1 in sha1_to_hex().
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Fix for http-fetch from file:// URLs

    Nick Hengeveld committed with Junio C Hamano Dec 22, 2005
    Recognize missing files when using http-fetch with file:// URLs
    
    Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. git-format-patch should show the correct version

    dscho committed with Junio C Hamano Dec 22, 2005
    We want to record the version of the tools the patch was generated with.
    While these tools could be rebuilt, git-format-patch stayed the same and
    report the wrong version.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. send-pack: reword non-fast-forward error message.

    Junio C Hamano committed Dec 22, 2005
    Wnen refusing to push a head, we said cryptic "remote 'branch'
    object X does not exist on local" or "remote ref 'branch' is not
    a strict subset of local ref 'branch'".  That was gittish.
    
    Since the most likely reason this happens is because the pushed
    head was not up-to-date, clarify the error message to say that
    straight, and suggest pulling first.
    
    First noticed by Johannes and seconded by Andreas.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. \n usage in stderr output

    raalkml committed with Junio C Hamano Dec 15, 2005
    fprintf and die sometimes have missing/excessive "\n" in their arguments,
    correct the strings where I think it would be appropriate.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. sanity check in add_packed_git()

    proski committed with Junio C Hamano Dec 21, 2005
    add_packed_git() tries to get the pack SHA1 by parsing its name.  It may
    access uninitialized memory for packs with short names.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 21, 2005
  1. GIT 1.0.0b

    Junio C Hamano committed Dec 21, 2005
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. server-info: skip empty lines.

    Junio C Hamano committed Dec 21, 2005
    Now we allow an empty line in objects/info/packs file, recognize
    that and stop complaining.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. [PATCH] quote.c: Make loop control more readable.

    proski committed with Junio C Hamano Dec 21, 2005
    quote_c_style_counted() in quote.c uses a hard-to-read  construct.
    Convert this to a more traditional form of the for loop.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. GIT 1.0.0a

    Junio C Hamano committed Dec 21, 2005
        - Avoid misleading success message on error (Johannes)
        - objects/info/packs: work around bug in http-fetch.c::fetch_indices()
        - http-fetch.c: fix objects/info/pack parsing.
        - An off-by-one bug found by valgrind (Pavel)
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. An off-by-one bug found by valgrind

    proski committed with Junio C Hamano Dec 21, 2005
    Insufficient memory is allocated in index-pack.c to hold the *.idx name.
    One more byte should be allocated to hold the terminating 0.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. Avoid misleading success message on error

    dscho committed with Junio C Hamano Dec 21, 2005
    When a push fails (for example when the remote head does not fast forward
    to the desired ref) it is not correct to print "Everything up-to-date".
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. http-fetch.c: fix objects/info/pack parsing.

    Junio C Hamano committed Dec 21, 2005
    It failed to register the last pack in the objects/info/packs
    file.  Also it had an independent overrun error.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. objects/info/packs: work around bug in http-fetch.c::fetch_indices()

    Junio C Hamano committed Dec 21, 2005
    The code to fetch pack index files in deployed clients have a
    bug that causes it to ignore the pack file on the last line of
    objects/info/packs file, so append an empty line to work it
    around.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  9. GIT 1.0.0

    Junio C Hamano committed Dec 21, 2005
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  10. Make "git-send-pack" less verbose by default

    Linus Torvalds committed with Junio C Hamano Dec 21, 2005
    It used to make sense to have git-send-pack talk about the things it sent
    when (a) it was a new program and (b) nobody had a lot of tags and
    branches.
    
    These days, it's just distracting to see tons of
    
    	'refs/tags/xyz': up-to-date
    	...
    
    when updating a remote repo.
    
    So shut it up by default, and add a "--verbose" flag for those who really
    want to see it.
    
    Also, since this makes he case of everything being up-to-date just totally
    silent, make it say "Everything up-to-date" if no refs needed updating.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  11. A shared repository should be writable by members.

    Junio C Hamano committed Dec 21, 2005
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 20, 2005
  1. ce_smudge_racily_clean_entry: explain why it works.

    Junio C Hamano committed Dec 20, 2005
    This is a tricky code and warrants extra commenting.  I wasted
    30 minutes trying to break it until I realized why it works.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Racy GIT (part #2)

    Junio C Hamano committed Dec 20, 2005
    The previous round caught the most trivial case well, but broke
    down once index file is updated again.  Smudge problematic
    entries (they should be very few if any under normal interactive
    workflow) before writing a new index file out.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Racy GIT

    Junio C Hamano committed Dec 20, 2005
    This fixes the longstanding "Racy GIT" problem, which was pretty
    much there from the beginning of time, but was first
    demonstrated by Pasky in this message on October 24, 2005:
    
        http://marc.theaimsgroup.com/?l=git&m=113014629716878
    
    If you run the following sequence of commands:
    
    	echo frotz >infocom
            git update-index --add infocom
            echo xyzzy >infocom
    
    so that the second update to file "infocom" does not change
    st_mtime, what is recorded as the stat information for the cache
    entry "infocom" exactly matches what is on the filesystem
    (owner, group, inum, mtime, ctime, mode, length).  After this
    sequence, we incorrectly think "infocom" file still has string
    "frotz" in it, and get really confused.  E.g. git-diff-files
    would say there is no change, git-update-index --refresh would
    not even look at the filesystem to correct the situation.
    
    Some ways of working around this issue were already suggested by
    Linus in the same thread on the same day, including waiting
    until the next second before returning from update-index if a
    cache entry written out has the current timestamp, but that
    means we can make at most one commit per second, and given that
    the e-mail patch workflow used by Linus needs to process at
    least 5 commits per second, it is not an acceptable solution.
    Linus notes that git-apply is primarily used to update the index
    while processing e-mailed patches, which is true, and
    git-apply's up-to-date check is fooled by the same problem but
    luckily in the other direction, so it is not really a big issue,
    but still it is disturbing.
    
    The function ce_match_stat() is called to bypass the comparison
    against filesystem data when the stat data recorded in the cache
    entry matches what stat() returns from the filesystem.  This
    patch tackles the problem by changing it to actually go to the
    filesystem data for cache entries that have the same mtime as
    the index file itself.  This works as long as the index file and
    working tree files are on the filesystems that share the same
    monotonic clock.  Files on network mounted filesystems sometimes
    get skewed timestamps compared to "date" output, but as long as
    working tree files' timestamps are skewed the same way as the
    index file's, this approach still works.  The only problematic
    files are the ones that have the same timestamp as the index
    file's, because two file updates that sandwitch the index file
    update must happen within the same second to trigger the
    problem.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. format-patch: make sure header and body are separated.

    Junio C Hamano committed Dec 20, 2005
    Since log message in a commit object is defined to be binary
    blob, it could be something without an empty line between the
    title line and the body text.  Be careful to format such into
    a form suitable for e-mail submission.  There must be an empty
    line between the headers and the body.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. diff --abbrev: document --abbrev=<n> form.

    Junio C Hamano committed Dec 18, 2005
    It was implemented there but was not advertised.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. diff: --abbrev option

    Junio C Hamano committed Dec 14, 2005
    When I show transcripts to explain how something works, I often
    find myself hand-editing the diff-raw output to shorten various
    object names in the output.
    
    This adds --abbrev option to the diff family, which shortens
    diff-raw output and diff-tree commit id headers.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. xread/xwrite: do not worry about EINTR at calling sites.

    Junio C Hamano committed Dec 20, 2005
    We had errno==EINTR check after read(2)/write(2) sprinkled all
    over the places, always doing continue.  Consolidate them into
    xread()/xwrite() wrapper routines.
    
    Credits for suggestion goes to HPA -- bugs are mine.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. tests: make scripts executable

    Junio C Hamano committed Dec 20, 2005
    just for consistency.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  9. Remove "octopus".

    Junio C Hamano committed Dec 20, 2005
    We still advertise "git resolve" as a standalone command, but never
    "git octopus", so nobody should be using it and it is safe to
    retire it.  The functionality is still available as a strategy
    backend.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  10. Remove unused cmd-rename.sh

    Junio C Hamano committed Dec 20, 2005
    This file is a remnant from the big command rename which happened
    quite some time ago.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  11. Remove generated files */*.py[co]

    Junio C Hamano committed Dec 20, 2005
    We missed ones in the compat/ subdirectory.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  12. Documentation: stdout of update-hook is connected to /dev/null

    Junio C Hamano committed Dec 20, 2005
    Mention that update-hook does not emit its stdout to the sender.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  13. rev-list --objects: fix object list without commit.

    Junio C Hamano committed Dec 20, 2005
    Earlier, "rev-list --objects <sha1>" for an object chain that
    does not have any commit failed with a usage message.  This
    fixes "send-pack remote $tag" where tag points at a non-commit
    (e.g. a blob).
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 19, 2005
  1. Documentation/git-archimport: document -o, -a, f, -D options

    Eric Wong committed with Junio C Hamano Dec 19, 2005
    Also, ensure usage help switches are in the same order.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. howto/using-topic-branches: Recommend public URL git://git.kernel.org/

    Junio C Hamano committed Dec 19, 2005
    Recommending this means subsystem maintainers do not have to log-in
    just to resync with upstream.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 18, 2005
  1. Make "git help" sort git commands in columns

    Linus Torvalds committed with Junio C Hamano Dec 18, 2005
    This changes "pretty_print_string_list()" to show the git commands
    alphabetically in column order, which is the normal one.
    
    Ie instead of doing
    
    	git commands available in '/home/torvalds/bin'
    	----------------------------------------------
    	  add                am                 ...
    	  applypatch         archimport         ...
    	  cat-file           check-ref-format   ...
    	...
    
    it does
    
    	git commands available in '/home/torvalds/bin'
    	----------------------------------------------
    	  add                diff-tree          ...
    	  am                 fetch              ...
    	  apply              fetch-pack         ...
    	...
    
    where each column is sorted.
    
    This is how "ls" sorts things too, and since visually the columns are much
    more distinct than the rows, so it _looks_ more sorted.
    
    The "ls" command has a "-x" option that lists entries by lines (the way
    git.c used to): if somebody wants to do that, the new print-out logic
    could be easily accomodated to that too. Matter of taste and preference, I
    guess.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Make "git help" react to window size correctly

    Linus Torvalds committed with Junio C Hamano Dec 18, 2005
    Currently the git "show commands" function will react to the environment
    variable COLUMNS, or just default to a width of 80 characters.
    
    That's just soo eighties. Nobody sane sets COLUMNS any more, unless they
    need to support some stone-age software from before the age of steam
    engines, SIGWINCH and TIOCGWINSZ.
    
    So get with the new century, and use TIOCGWINSZ to get the terminal size.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>