1. 16 12月, 2006 6 次提交
    • L
      Export PERL_PATH · 3a793478
      Luben Tuikov 提交于
      PERL_PATH is used by perl/Makefile so export it.
      Signed-off-by: NLuben Tuikov <ltuikov@yahoo.com>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      3a793478
    • S
      Enable reflogs by default in any repository with a working directory. · 0bee5918
      Shawn O. Pearce 提交于
      New and experienced Git users alike are finding out too late that
      they forgot to enable reflogs in the current repository, and cannot
      use the information stored within it to recover from an incorrectly
      entered command such as `git reset --hard HEAD^^^` when they really
      meant HEAD^^ (aka HEAD~2).
      
      So enable reflogs by default in all future versions of Git, unless
      the user specifically disables it with:
      
        [core]
          logAllRefUpdates = false
      
      in their .git/config or ~/.gitconfig.
      
      We only enable reflogs in repositories that have a working directory
      associated with them, as shared/bare repositories do not have
      an easy means to prune away old log entries, or may fail logging
      entirely if the user's gecos information is not valid during a push.
      This heuristic was suggested on the mailing list by Junio.
      
      Documentation was also updated to indicate the new default behavior.
      We probably should start to teach usuing the reflog to recover
      from mistakes in some of the tutorial material, as new users are
      likely to make a few along the way and will feel better knowing
      they can recover from them quickly and easily, without fsck-objects'
      lost+found features.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      0bee5918
    • S
      Provide more meaningful output from 'git init-db'. · ef0a89a6
      Shawn O. Pearce 提交于
      Back in the old days of Git when people messed around with their
      GIT_DIR environment variable more often it was nice to know whether
      or not git-init-db created a .git directory or used GIT_DIR.
      As most users at that time were rather technical UNIXy folk the
      message "defaulting to local storage area" made sense to some and
      seemed reasonable.
      
      But it doesn't really convey any meaning to the new Git user,
      as they don't know what a 'local storage area is' nor do they
      know enough about Git to care.  It also really doesn't tell the
      experienced Git user a whole lot about the command they just ran,
      especially if they might be reinitializing an existing repository
      (e.g. to update hooks).
      
      So now we print out what we did ("Initialized empty" or
      "Reinitialized existing"), what type of repository ("" or "shared"),
      and what location the repository will be in ("$GIT_DIR").
      
      Suggested in part by Andy Parkins in his Git 'niggles' list
      (<200612132237.10051.andyparkins@gmail.com>).
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ef0a89a6
    • N
      make commit message a little more consistent and conforting · ebd124c6
      Nicolas Pitre 提交于
      It is nicer to let the user know when a commit succeeded all the time,
      not only the first time.  Also the commit sha1 is much more useful than
      the tree sha1 in this case.
      
      This patch also introduces a -q switch to supress this message as well
      as the summary of created/deleted files.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ebd124c6
    • S
      Avoid accessing a slow working copy during diffcore operations. · 1510fea7
      Shawn O. Pearce 提交于
      The Cygwin folks have done a fine job at creating a POSIX layer
      on Windows That Just Works(tm).  However it comes with a penalty;
      accessing files in the working tree by way of stat/open/mmap can
      be slower for diffcore than inflating the data from a blob which
      is stored in a packfile.
      
      This performance problem is especially an issue in merge-recursive
      when dealing with nearly 7000 added files, as we are loading
      each file's content from the working directory to perform rename
      detection.  I have literally seen (and sadly watched) paint dry in
      less time than it takes for merge-recursive to finish such a merge.
      On the other hand this very same merge runs very fast on Solaris.
      
      If Git is compiled with NO_FAST_WORKING_DIRECTORY set then we will
      avoid looking at the working directory when the blob in question
      is available within a packfile and the caller doesn't need the data
      unpacked into a temporary file.
      
      We don't use loose objects as they have the same open/mmap/close
      costs as the working directory file access, but have the additional
      CPU overhead of needing to inflate the content before use.  So it
      is still faster to use the working tree file over the loose object.
      
      If the caller needs the file data unpacked into a temporary file
      its likely because they are going to call an external diff program,
      passing the file as a parameter.  In this case reusing the working
      tree file will be faster as we don't need to inflate the data and
      write it out to a temporary file.
      
      The NO_FAST_WORKING_DIRECTORY feature is enabled by default on
      Cygwin, as that is the platform which currently appears to benefit
      the most from this option.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      1510fea7
    • J
      Merge branch 'js/show' · 1576f5f7
      Junio C Hamano 提交于
      * js/show:
        git-show: grok blobs, trees and tags, too
      1576f5f7
  2. 14 12月, 2006 29 次提交
  3. 13 12月, 2006 5 次提交
    • J
      Revert "git-diff: Introduce --index and deprecate --cached." · f2dd1c9a
      Junio C Hamano 提交于
      This reverts commit 4c81c213.
      
      Although --cached and --index are confusing wording, the use of
      word --cached for git-diff is consistent with git-apply.  It means
      "work with index without looking at the working tree".
      
      We should probably come up with better wording for --cached, if
      somebody wants to deprecate it.  But making --index and --cached
      synonyms for diff while leaving them mean different things for
      apply is no good.
      f2dd1c9a
    • J
      Merge branch 'maint' · 1349f877
      Junio C Hamano 提交于
      * maint:
        git-svn: correctly display fatal() error messages
        git-svn: exit with status 1 for test failures
      
      Conflicts:
      
      	git-svn.perl
      
      nothing to commit
      1349f877
    • E
      git-svn: correctly display fatal() error messages · 155bd0ce
      Eric Wong 提交于
      If I wanted to print $@, I'd pass $@ to fatal().  This looks like
      a stupid typo on my part.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      155bd0ce
    • E
      git-svn: exit with status 1 for test failures · b42a044f
      Eric Wong 提交于
      Some versions of the SVN libraries cause die() to exit with 255,
      and 40cf0433 tightened up
      test_expect_failure to reject return values >128.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      b42a044f
    • A
      Allow subcommand.color and color.subcommand color configuration · a159ca0c
      Andy Parkins 提交于
      While adding colour to the branch command it was pointed out that a
      config option like "branch.color" conflicts with the pre-existing
      "branch.something" namespace used for specifying default merge urls and
      branches.  The suggested solution was to flip the order of the
      components to "color.branch", which I did for colourising branch.
      
      This patch does the same thing for
        - git-log (color.diff)
        - git-status (color.status)
        - git-diff (color.diff)
        - pager (color.pager)
      
      I haven't removed the old config options; but they should probably be
      deprecated and eventually removed to prevent future namespace
      collisions.  I've done this deprecation by changing the documentation
      for the config file to match the new names; and adding the "color.XXX"
      options to contrib/completion/git-completion.bash.
      
      Unfortunately git-svn reads "diff.color" and "pager.color"; which I
      don't like to change unilaterally.
      Signed-off-by: NAndy Parkins <andyparkins@gmail.com>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      a159ca0c