Permalink
Commits on Aug 21, 2007
  1. GIT 1.5.3-rc6

    Hopefully last rc of 1.5.3 cycle, except a few documentation and
    message wording changes, and git-gui 0.8.2.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Aug 21, 2007
  2. Merge branch 'master' of git://git.kernel.org/pub/scm/gitk/gitk

    * 'master' of git://git.kernel.org/pub/scm/gitk/gitk:
      gitk: Add a window to list branches, tags and other references
      [PATCH] gitk: Handle 'copy from' and 'copy to' in diff headers.
      gitk: Fix bug in fix for warning when removing a branch
    gitster committed Aug 21, 2007
  3. Avoid using va_copy in fast-import: it seems to be unportable.

    [sp: minor change to use fputs, thus reducing the patch size]
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    raalkml committed with gitster Aug 21, 2007
Commits on Aug 20, 2007
  1. git clone: do not issue warning while cloning locally across filesystems

    Unless the user explicitly asked hardlinking with the '-l'
    option, we should not say "oops we cannot hardlink as you asked
    so we are copying".
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Aug 20, 2007
  2. gitk: Add a window to list branches, tags and other references

    This adds an entry to the File menu labelled "List references" which
    pops up a window showing a sorted list of branches, tags, and other
    references, with a little icon beside each to indicate what sort it
    is.  The list only shows refs that point to a commit that is included
    in the graph, and if you click on a ref, the corresponding commit
    is selected in the main window.  The list of refs gets updated
    dynamically.
    
    Signed-off-by: Paul Mackerras <paulus@samba.org>
    paulusmack committed Aug 20, 2007
  3. Fix misspelling of 'suppress' in docs

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Dave Watson committed with gitster Aug 20, 2007
  4. Document what the stage numbers in the :$n:path syntax mean.

    The git-rev-parse manpage talks about the :$n:path notation (buried deep in
    a list of other syntax) but it just says $n is a "stage number" -- someone
    who is not familiar with the internals of git's merge implementation is
    never going to be able to figure out that "1", "2", and "3" means.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Steven Grimm committed with gitster Aug 20, 2007
  5. Don't allow combination of -g and --reverse as it doesn't work

    The --walk-reflogs logic and the --reverse logic are completely
    incompatible with one another.  Attempting to use both at the same
    time leads to confusing results that sometimes violates the user's
    formatting options or ignores the user's request to see the reflog
    message and timestamp.
    
    Unfortunately the implementation of both of these features is glued
    onto the side of the revision walking machinary in such a way that
    they are probably not going to be easy to make them compatible with
    each other.  Rather than offering the user confusing results we are
    better off bailing out with an error message until such a time as
    the implementations can be refactored to be compatible.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    spearce committed with gitster Aug 20, 2007
Commits on Aug 19, 2007
  1. Add the word reflog to Documentation/config.txt:core.logAllRefUpdates

    This makes it easier to find out how to enable the reflog
    for a bare repository by searching the documentation for
    "reflog".
    
    Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Lukas Sandström committed with gitster Aug 19, 2007
  2. Add and document a global --no-pager option for git.

    To keep the change small, this is done by setting GIT_PAGER to "cat".
    
    Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
    Acked-by: Brian Gernhardt <benji@silverinsanity.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    moy committed with gitster Aug 19, 2007
  3. Take binary diffs into account for "git rebase"

    We used to not generate a patch ID for binary diffs, but that means that
    some commits may be skipped as being identical to already-applied diffs
    when doing a rebase.
    
    So just delete the code that skips the binary diff. At the very least,
    we'd want the filenames to be part of the patch ID, but we might also want
    to generate some hash for the binary diff itself too.
    
    This fixes an issue noticed by Torgil Svensson.
    
    Tested-by: Torgil Svensson <torgil.svensson@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    torvalds committed with gitster Aug 18, 2007
  4. Make thin-pack generation subproject aware.

    When a thin pack wants to send a tree object at "sub/dir", and
    the commit that is common between the sender and the receiver
    that is used as the base object has a subproject at that path,
    we should not try to use the data at "sub/dir" of the base tree
    as a tree object.  It is not a tree to begin with, and more
    importantly, the commit object there does not have to even
    exist.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    torvalds committed with gitster Aug 17, 2007
  5. Correct documentation of 'reflog show' to explain it shows HEAD

    By default 'git reflog show' will show the reflog of 'HEAD' and not
    the reflog of the current branch.  This is most likely due to the
    work done a while ago as part of the detached HEAD series to allow
    HEAD to have its own reflog independent of each branch's reflog.
    
    Since 'git reflog show' is really just an obscure alias for 'git
    log -g --abbrev-commit --pretty=oneline' it should behave the same
    way and its documentation should match.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    spearce committed with gitster Aug 19, 2007
  6. Merge branch 'master' of git://repo.or.cz/git-gui

    * 'master' of git://repo.or.cz/git-gui:
      git-gui: Added support for OS X right click
      git-gui: Avoid Tcl error in popup menu on diff viewer
    gitster committed Aug 19, 2007
  7. Merge branch 'master' of git://git.kernel.org/pub/scm/gitk/gitk

    * 'master' of git://git.kernel.org/pub/scm/gitk/gitk:
      [PATCH] gitk: Make the date/time display configurable
      [PATCH] gitk: Let user easily specify lines of context in diff view
      gitk: Fix warning when removing a branch
    gitster committed Aug 19, 2007
  8. fast-import pull request

    * skip_optional_lf() decl is old-style -- please say
    
    	static skip_optional_lf(void)
            {
            	...
    	}
    
    * t9300 #14 fails, like this:
    
    * expecting failure: git-fast-import <input
    fatal: Branch name doesn't conform to GIT standards: .badbranchname
    fast-import: dumping crash report to .git/fast_import_crash_14354
    ./test-lib.sh: line 143: 14354 Segmentation fault      git-fast-import <input
    
    -- >8 --
    Subject: [PATCH] fastimport: Fix re-use of va_list
    
    The va_list is designed to be used only once. The current code
    reuses va_list argument may cause segmentation fault.  Copy and
    release the arguments to avoid this problem.
    
    While we are at it, fix old-style function declaration of
    skip_optional_lf().
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    gitster committed with spearce Aug 19, 2007
  9. Include recent command history in fast-import crash reports

    When we crash the frontend developer (or end-user) may need to know
    roughly around what part of the input stream we had a problem with
    and aborted on.  Because line numbers aren't very useful in this
    sort of application we instead just keep the last 100 commands in
    a FIFO queue and print them as part of the crash report.
    
    Currently one problem with this design is a commit that has
    more than 100 modified files in it will flood the FIFO and any
    context regarding branch/from/committer/mark/comments will be lost.
    We really should save only the last few (10?) file changes for the
    current commit, ensuring we have some prior higher level commands
    in the FIFO when we crash on a file M/D/C/R command.
    
    Another issue with this approach is the FIFO only includes the
    commands, it does not include the commit messages.  Yet having a
    commit message may be useful to help locate the relevant change in
    the source material.  In practice I don't think this is going to be a
    major concern as the frontend can always embed its own source change
    set identifier as a comment (which will appear in the crash report)
    and the commit message(s) for the most recent commits of any given
    branch should be obtainable from the (packed) commit objects.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 3, 2007
  10. Generate crash reports on die in fast-import

    As fast-import is quite strict about its input and die()'s anytime
    something goes wrong it can be difficult for a frontend developer
    to troubleshoot why fast-import rejected their input, or to even
    determine what input command it rejected.
    
    This change introduces a custom handler for Git's die() routine.
    When we receive a die() for any reason (fast-import or a lower level
    core Git routine we called) the error is first dumped onto stderr
    and then a more extensive crash report file is prepared in GIT_DIR.
    Finally we exit the process with status 128, just like the stock
    builtin die handler.
    
    An internal flag is set to prevent any further die()'s that may be
    invoked during the crash report generator from causing us to enter
    into an infinite loop.  We shouldn't die() from our crash report
    handler, but just in case someone makes a future code change we are
    prepared to gaurd against small mistakes turning into huge problems
    for the end-user.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 3, 2007
  11. Allow frontends to bidirectionally communicate with fast-import

    The existing checkpoint command is very useful to force fast-import
    to dump the branches out to disk so that standard Git tools can
    access them and the objects they refer to.  However there was not a
    way to know when fast-import had finished executing the checkpoint
    and it was safe to read those refs.
    
    The progress command can be used to make fast-import output any
    message of the frontend's choosing to standard out.  The frontend
    can scan for these messages using select() or poll() to monitor a
    pipe connected to the standard output of fast-import.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 1, 2007
  12. Make trailing LF optional for all fast-import commands

    For the same reasons as the prior change we want to allow frontends
    to omit the trailing LF that usually delimits commands.  In some
    cases these just make the input stream more verbose looking than
    it needs to be, and its just simpler for the frontend developer to
    get started if our parser is slightly more lenient about where an
    LF is required and where it isn't.
    
    To make this optional LF feature work we now have to buffer up to one
    line of input in command_buf.  This buffering can happen if we look
    at the current input command but don't recognize it at this point
    in the code.  In such a case we need to "unget" the entire line,
    but we cannot depend upon the stdio library to let us do ungetc()
    for that many characters at once.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 1, 2007
  13. Make trailing LF following fast-import `data` commands optional

    A few fast-import frontend developers have found it odd that we
    require the LF following a `data` command, especially in the exact
    byte count format.  Technically we don't need this LF to parse
    the stream properly, but having it here does make the stream more
    readable to humans.  We can easily make the LF optional by peeking
    at the next byte available from the stream and pushing it back into
    the buffer if its not LF.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 1, 2007
  14. Teach fast-import to ignore lines starting with '#'

    Several frontend developers have asked that some form of stream
    comments be permitted within a fast-import data stream.  This way
    they can include information from their own frontend program about
    where specific data was taken from in the source system, or about
    a decision that their frontend may have made while creating the
    fast-import data stream.
    
    This change introduces comments in the Bourne-shell/Tcl/Perl style.
    Lines starting with '#' are ignored, up to and including the LF.
    Unlike the above mentioned three languages however we do not look for
    and ignore leading whitespace.  This just simplifies the definition
    of the comment format and the code that parses them.
    
    To make comments work we had to stop using read_next_command() within
    cmd_data() and directly invoke read_line() during the inline variant
    of the function.  This is necessary to retain any lines of the
    input data that might otherwise look like a comment to fast-import.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 1, 2007
  15. Use handy ALLOC_GROW macro in fast-import when possible

    Instead of growing our buffer by hand during the inline variant of
    cmd_data() we can save a few lines of code and just use the nifty
    new ALLOC_GROW macro already available to us.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 1, 2007
  16. Actually allow TAG_FIXUP branches in fast-import

    Michael Haggerty <mhagger@alum.mit.edu> noticed while debugging a
    Git backend for cvs2svn that fast-import was barfing when he tried
    to use "TAG_FIXUP" as a branch name for temporary work needed to
    cleanup the tree prior to creating an annotated tag object.
    
    The reason we were rejecting the branch name was check_ref_format()
    returns -2 when there are less than 2 '/' characters in the input
    name.  TAG_FIXUP has 0 '/' characters, but is technically just as
    valid of a ref as HEAD and MERGE_HEAD, so we really should permit it
    (and any other similar looking name) during import.
    
    New test cases have been added to make sure we still detect very
    wrong branch names (e.g. containing [ or starting with .) and yet
    still permit reasonable names (e.g. TAG_FIXUP).
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Aug 3, 2007
  17. Fix whitespace in "Format of STDIN stream" of fast-import

    Something probably assumed that HT indentation is 4 characters.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    raalkml committed with spearce Jul 15, 2007
  18. git-completion.bash - add support for git-bundle

    Signed-off-by: Mark Levedahl <mdl123@verizon.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    mark987 committed with spearce Aug 12, 2007
Commits on Aug 17, 2007
  1. Clarify commit-tree documentation

    As per http://marc.info/?l=git&m=118737219702802&w=2 , clarify
    git-commit-tree documentation.
    
    Signed-off-by: Mike Hommey <mh@glandium.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    glandium committed with gitster Aug 17, 2007
  2. Minor clarifications to git-filter-branch usage and doc

    - Remove "DESTBRANCH" from usage, as it rewrites the branches given.
    - Remove an = from an example usage, as the script doesn't understand
    it.
    
    Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Benabik committed with gitster Aug 17, 2007
  3. Fix small typo in git send-email man page.

    Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    loops committed with gitster Aug 17, 2007
  4. git-submodule: re-enable 'status' as the default subcommand

    This was broken as part of ecda072.
    
    Signed-off-by: Lars Hjemli <hjemli@gmail.com>
    Acked-by: Sven Verdoolaege <skimo@kotnet.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    hjemli committed with gitster Aug 4, 2007
  5. [PATCH] gitk: Handle 'copy from' and 'copy to' in diff headers.

    If a commit contained a copy operation, the file name was not correctly
    determined, and the corresponding part of the patch could not be
    navigated to from the list of files.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Paul Mackerras <paulus@samba.org>
    Johannes Sixt committed with paulusmack Aug 16, 2007
  6. gitk: Fix bug in fix for warning when removing a branch

    My fix in commit b1054ac was only
    half-right, since it ignored the case where the descendent heads of
    the head being removed correspond to two or more different commits.
    This fixes it.  Reported by Mark Levedahl.
    
    Signed-off-by: Paul Mackerras <paulus@samba.org>
    paulusmack committed Aug 17, 2007
  7. Clean-up read-tree error condition.

    This is a follow-up to f34f2b0; list_tree() function is where it
    first notices that the command line fed too many trees for us to
    handle, so move the error exit message to there, and raise the
    MAX_TREES to 8 (not that it matters very much in practice).
    
    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Aug 17, 2007
Commits on Aug 16, 2007
  1. Clarify actual behavior of 'git add' and ignored files

    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Aug 16, 2007
  2. t1301-shared-repo.sh: fix 'stat' portability issue

    The t1301-shared-repo.sh testscript uses /usr/bin/stat to get the file
    mode, which isn't portable.  Implement the test in shell using 'ls' as
    shown by Junio.
    
    Signed-off-by: Arjen Laarhoven <arjen@yaph.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    ArjenL committed with gitster Aug 16, 2007