Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Commits on Jul 28, 2012
  1. @gitster

    Update draft release notes to 1.7.12

    gitster authored
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Merge branch 'extract-remaining' of git://git.bogomips.org/git-svn

    gitster authored
    * 'extract-remaining' of git://git.bogomips.org/git-svn:
      Extract Git::SVN::GlobSpec from git-svn.
      Move Git::IndexInfo into its own file.
      Load all the modules in one place and before running code.
      Extract Git::SVN::Migration from git-svn.
      Prepare Git::SVN::Migration for extraction from git-svn.
      Extract Git::SVN::Log from git-svn.
      Prepare Git::SVN::Log for extraction from git-svn.
  3. @gitster

    Merge git://git.bogomips.org/git-svn

    gitster authored
    * git://git.bogomips.org/git-svn:
      Move initialization of Git::SVN variables into Git::SVN.
      Extract Git::SVN from git-svn into its own .pm file.
      Prepare Git::SVN for extraction into its own file.
      Extract some utilities from git-svn to allow extracting Git::SVN.
      perl: detect new files in MakeMaker builds
      The Makefile.PL will now find .pm files itself.
      Don't lose Error.pm if $@ gets clobbered.
      Quiet warning if Makefile.PL is run with -w and no --localedir
  4. @gitster

    Merge branch 'jk/autoident-test'

    gitster authored
    Fix test breakages by a builder who does not have a valid user name
    in his /etc/password entry.
    
    * jk/autoident-test:
      t7502: test early quit from commit with bad ident
      t7502: handle systems where auto-identity is broken
      t7502: drop confusing test_might_fail call
      t7502: narrow checks for author/committer name in template
      t7502: properly quote GIT_EDITOR
      t7502: clean up fake_editor tests
  5. @gitster

    Merge branch 'jk/help-plug-memleak'

    gitster authored
    Plug a few trivial memory leaks.
    
    * jk/help-plug-memleak:
      help.c::exclude_cmds(): plug a leak
      help.c::uniq: plug a leak
  6. @gitster

    Merge branch 'dg/submodule-in-dismembered-working-tree'

    gitster authored
    In a superproject that has repository outside of its working tree,
    "git submodule add" failed to clone a new submodule, as GIT_DIR and
    GIT_WORK_TREE environment variables necessary to work in such a
    superproject interfered with access to the submodule repository.
    
    * dg/submodule-in-dismembered-working-tree:
      git-submodule: work with GIT_DIR/GIT_WORK_TREE
  7. @gitster

    Merge branch 'jk/maint-checkout-orphan-check-fix'

    gitster authored
    "git checkout <branchname>" to come back from a detached HEAD state
    incorrectly computed reachability of the detached HEAD, resulting in
    unnecessary warnings.
    
    * jk/maint-checkout-orphan-check-fix:
      checkout: don't confuse ref and object flags
Commits on Jul 27, 2012
  1. @schwern

    Extract Git::SVN::GlobSpec from git-svn.

    schwern authored Eric Wong committed
    Straight cut & paste.  That's the last class.
    
    * Make Git::SVN load it on its own, its the only thing that needs it.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  2. @schwern

    Move Git::IndexInfo into its own file.

    schwern authored Eric Wong committed
    Straight cut & paste.  Didn't require any fixing.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  3. @schwern

    Load all the modules in one place and before running code.

    schwern authored Eric Wong committed
    Just makes the code easier to follow.  No functional change.
    
    Also eliminate an unused lexical $SVN.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  4. @schwern

    Extract Git::SVN::Migration from git-svn.

    schwern authored Eric Wong committed
    Straight cut & paste.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  5. @schwern

    Prepare Git::SVN::Migration for extraction from git-svn.

    schwern authored Eric Wong committed
    * Load Git command functions on its own.
    * Load Git::SVN modules on its own.
    
    Drive by refactorings...
    * Use our() instead of use vars.
    * Eliminate the auto loading of Git functions.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  6. @schwern

    Extract Git::SVN::Log from git-svn.

    schwern authored Eric Wong committed
    Straight cut & paste.
    
    Also noticed Git::SVN::Ra wasn't in the compile test.  It is now.
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  7. @schwern

    Prepare Git::SVN::Log for extraction from git-svn.

    schwern authored Eric Wong committed
    * Load Git command functions itself.
    
    * Can't access the git-svn switch lexical any more, but its only used by
      Git::SVN::Log so turn it into a Git::SVN::Log global.
    
    * Load Git::SVN as needed.  No need to load it always, its only used twice.
    
    * Moved a state variable to the routine it's used for. (Drive by refactoring)
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  8. @schwern

    Move initialization of Git::SVN variables into Git::SVN.

    schwern authored Eric Wong committed
    Also it can compile on its own now, yay!
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  9. @schwern

    Extract Git::SVN from git-svn into its own .pm file.

    schwern authored Eric Wong committed
    Except for adding the 1; at the end, this is a straight copy & paste.
    
    Tests still pass, but its doubtful Git::SVN will compile on its own
    without git-svn being loaded.  Next commit will fix that.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  10. @schwern

    Prepare Git::SVN for extraction into its own file.

    schwern authored Eric Wong committed
    This means it should be able to load without git-svn being loaded.
    
    * Load Git.pm on its own and all the needed command functions.
    
    * It needs to grab at a git-svn lexical $_prefix representing the --prefix
      option.  Provide opt_prefix() for that.  This is a refactoring artifact.
      The prefix should really be passed into Git::SVN->new.
    
    * Unqualify unnecessarily fully qualified globals like
      $Git::SVN::default_repo_id.
    
    * Lexically isolate the class just to make sure nothing is leaking out.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  11. @schwern

    Extract some utilities from git-svn to allow extracting Git::SVN.

    schwern authored Eric Wong committed
    Put them in a new module called Git::SVN::Utils.  Yeah, not terribly
    original and it will be a dumping ground.  But its better than having
    them in the main git-svn program.  At least they can be documented
    and tested.
    
    * fatal() is used by many classes.
    * Change the $can_compress lexical into a function.
    
    This should be enough to extract Git::SVN.
    
    Signed-off-by: Michael G. Schwern <schwern@pobox.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  12. @gitster

    perl: detect new files in MakeMaker builds

    gitster authored Eric Wong committed
    While Makefile.PL now finds .pm files on its own, it does not
    detect new files after it generates perl/perl.mak.
    
    [ew: commit message, minor tweaks]
    
    ref: http://mid.gmane.org/7vlii51xz4.fsf@alter.siamese.dyndns.org
    
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  13. @schwern

    The Makefile.PL will now find .pm files itself.

    schwern authored Eric Wong committed
    It is no longer necessary to manually add new .pm files to the
    Makefile.PL.  This makes it easier to add modules.
    
    It is still necessary to add them to the Makefile, but that extra work
    should be removed at a future date.
    
    Signed-off-by: Michael G Schwern <schwern@pobox.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  14. @schwern

    Don't lose Error.pm if $@ gets clobbered.

    schwern authored Eric Wong committed
    In older Perls, sometimes $@ can become unset between the eval and
    checking $@.  Its safer to check the eval directly.
    
    Signed-off-by: Michael G Schwern <schwern@pobox.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
  15. @schwern

    Quiet warning if Makefile.PL is run with -w and no --localedir

    schwern authored Eric Wong committed
    Usually it isn't, but its nice if it can be run with warnings on.
    
    Signed-off-by: Michael G Schwern <schwern@pobox.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Signed-off-by: Eric Wong <normalperson@yhbt.net>
Commits on Jul 26, 2012
  1. @peff @gitster

    t7502: test early quit from commit with bad ident

    peff authored gitster committed
    In commit f20f387, "git commit" notices and dies much
    earlier when we have a bogus commit identity. That commit
    did not add a test because we cannot do so reliably (namely,
    we can only trigger the behavior on a system where the
    automatically generated identity is bogus). However, now
    that we have a prerequisite check for this feature, we can
    add a test that will at least run on systems that produce
    such a bogus identity.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @peff @gitster

    t7502: handle systems where auto-identity is broken

    peff authored gitster committed
    Test t7502.21 checks whether we write the committer name
    into COMMIT_EDITMSG when it has been automatically
    determined. However, not all systems can produce valid
    automatic identities.
    
    Prior to f20f387 (commit: check committer identity more
    strictly), this test worked even when we did not have a
    valid automatic identity, since it did not run the strict
    test until after we had generated the template. That commit
    tightened the check to fail early (since we would fail
    later, anyway), meaning that systems without a valid GECOS
    name or hostname would fail the test.
    
    We cannot just work around this, because it depends on
    configuration outside the control of the test script.
    Therefore we introduce a new test_prerequisite to run this
    test only on systems where automatic ident works at all.
    
    As a result, we can drop the confusing test_must_fail bit
    from the test. The intent was that by giving "git commit"
    invalid input (namely, nothing to commit), that it would
    stop at a predictable point, whether we had a valid identity
    or not, from which we could view the contents of
    COMMIT_EDITMSG. Since that assumption no longer holds, and
    we can only run the test when we have a valid identity,
    there is no reason not to let commit run to completion. That
    lets us be more robust to other unforeseen failures.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @peff @gitster

    t7502: drop confusing test_might_fail call

    peff authored gitster committed
    In t7502.20, we run "git commit" and check that it warns us
    that the author and committer identity are not the same
    (this is always the case in the test environment, since we
    set up the idents differently).
    
    Instead of actually making a commit, we have a clean index,
    so the "git commit" we run will fail. This is marked as
    might_fail, which is not really correct; it will always fail
    since there is nothing to commit.
    
    However, the only reason not to do a complete commit would
    be to see the intermediate state of the COMMIT_EDITMSG file
    when the commit is not completed. We don't need to care
    about this, though; even a complete commit will leave
    COMMIT_EDITMSG for us to view.  By doing a real commit and
    dropping the might_fail, we are more robust against other
    unforeseen failures of "git commit" that might influence our
    test result.
    
    It might seem less robust to depend on the fact that "git
    commit" leaves COMMIT_EDITMSG in place after a successful
    commit. However, that brings this test in line with others
    parts of the script, which make the same assumption.
    Furthermore, if that ever does change, the right solution is
    not to prevent commit from completing, but to set EDITOR to
    a script that will record the contents we see. After all,
    the point of these tests is to check what the user sees in
    their EDITOR, so that would be the most direct test. For
    now, though, we can continue to use the "shortcut" that
    COMMIT_EDITMSG is left intact.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. @peff @gitster

    t7502: narrow checks for author/committer name in template

    peff authored gitster committed
    t7502.20 and t7502.21 check that the author and committer
    name are mentioned in the commit message template under
    certain circumstances. However, they end up checking a much
    larger and unnecessary portion of the template. Let's narrow
    their checks to the specific lines.
    
    While we're at it, let's give these tests more descriptive
    names, so their purposes are more obvious.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. @peff @gitster

    t7502: properly quote GIT_EDITOR

    peff authored gitster committed
    One of the tests tries to ensure that editor is not run due
    to an early failure. However, it needs to quote the pathname
    of the trash directory used in $GIT_EDITOR, since git will
    pass it along to the shell. In other words, the test would
    pass whether the code was correct or not, since the unquoted
    editor specification would never run.
    
    We never noticed the problem because the code is indeed
    correct, so git-commit never even tried to run the editor.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. @peff @gitster

    t7502: clean up fake_editor tests

    peff authored gitster committed
    Using write_script saves us a few lines of code, and means
    we consistently use $SHELL_PATH.
    
    We can also drop the setting of the $pwd variable from
    $(pwd). In the first instance, there is no reason to use it
    (we can just use $(pwd) directly two lines later, since we
    are interpolating the here-document). In the second
    instance, it is totally pointless and probably just a
    cut-and-paste from the first instance.
    
    Finally, we can use a non-interpolating here document for
    the final script, which saves some quoting.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 25, 2012
  1. @gitster

    Merge branch 'jc/test-lib-source-build-options-early'

    gitster authored
    Reorders t/test-lib.sh so that we dot-source GIT-BUILD-OPTIONS that
    records the shell and Perl the user told us to use with Git a lot
    early, so that test-lib.sh script itself can use "$PERL_PATH" in
    one of its early operations.
    
    * jc/test-lib-source-build-options-early:
      test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier
  2. @gitster

    Merge branch 'mm/config-xdg'

    gitster authored
    Finishing touches to the XDG support (new feature for 1.7.12) and
    tests.
    
    * mm/config-xdg:
      t1306: check that XDG_CONFIG_HOME works
      ignore: make sure we have an xdg path before using it
      attr: make sure we have an xdg path before using it
      test-lib.sh: unset XDG_CONFIG_HOME
  3. @gitster

    Merge branch 'cw/rebase-i-root'

    gitster authored
    Finishing touches to the "rebase -i --root" (new feature for
    1.7.12).
    
    * cw/rebase-i-root:
      rebase -i: handle fixup of root commit correctly
  4. @gitster

    Merge branch 'mh/maint-revisions-doc'

    gitster authored
    * mh/maint-revisions-doc:
      Enumerate revision range specifiers in the documentation
      Make <refname> documentation more consistent.
  5. @peff @gitster

    checkout: don't confuse ref and object flags

    peff authored gitster committed
    When we are leaving a detached HEAD, we do a revision traversal to
    check whether we are orphaning any commits, marking the commit we're
    leaving as the start of the traversal, and all existing refs as
    uninteresting.
    
    Prior to commit 468224e, we did so by calling for_each_ref, and
    feeding each resulting refname to setup_revisions.  Commit 468224e
    refactored this to simply mark the pending objects, saving an extra
    lookup.
    
    However, it confused the "flags" parameter to the each_ref_fn
    clalback, which is about the flags we found while looking up the ref
    with the object flag.  Because REF_ISSYMREF ("this ref is a symbolic
    ref, e.g. refs/remotes/origin/HEAD") happens to be the same bit
    pattern as SEEN ("we have picked this object up from the pending
    list and moved it to revs.commits list"), we incorrectly reported
    that a commit previously at the detached HEAD will become
    unreachable if the only ref that can reach the commit happens to be
    pointed at by a symbolic ref.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. @dangra @gitster

    git-submodule: work with GIT_DIR/GIT_WORK_TREE

    dangra authored gitster committed
    The combination of GIT_DIR and GIT_WORK_TREE can be used to manage
    files in one directory hierarchy while keeping the repository that
    keeps track of them outside the directory hierarchy.  For example:
    
        git init --bare /path/to/there
        alias dotfiles="GIT_DIR=/path/to/there GIT_WORK_TREE=/path/to/here git"
    
        cd /path/to/here
        dotfiles add file
        dotfiles commit -a -m "add /path/to/here/file"
        ...
    
    lets you manage files under /path/to/here/ in the repository located
    at /path/to/there.
    
    git-submodule however fails to add submodules, as it is confused by
    GIT_DIR and GIT_WORK_TREE environment variables when it tries to
    work in the submodule, like so:
    
        dotfiles submodule add http://path.to/submodule
        fatal: working tree '/path/to/here' already exists.
    
    Simply unsetting the environment where the command works on the
    submodule is sufficient to fix this, as it has set things up so
    that GIT_DIR and GIT_WORK_TREE do not even have to point at the
    repository and the working tree of the submodule.
    
    Signed-off-by: Daniel Graña <dangra@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. @gitster

    help.c::exclude_cmds(): plug a leak

    gitster authored
    Command name removed from the list of commands via the exclusion
    were overwritten and lost without being freed.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Something went wrong with that request. Please try again.