1. 08 9月, 2005 2 次提交
    • J
      Big tool rename. · 215a7ad1
      Junio C Hamano 提交于
      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: NJunio C Hamano <junkio@cox.net>
      215a7ad1
    • J
      Flatten tools/ directory to make build procedure simpler. · 597c9cc5
      Junio C Hamano 提交于
      Also make platform specific part more isolated.  Currently we only
      have Darwin defined, but I've taken a look at SunOS specific patch
      (which I dropped on the floor for now) as well.  Doing things this way
      would make adding it easier.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      597c9cc5
  2. 05 9月, 2005 2 次提交
  3. 30 8月, 2005 2 次提交
    • J
      Remove git-apply-patch-script. · e47e35ac
      Junio C Hamano 提交于
      Now the rebase is rewritten to use git cherry-pick, there is no user
      for that ancient script.  I've checked Cogito and StGIT to make sure
      they do not use it.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      e47e35ac
    • J
      Redo "revert" using three-way merge machinery. · 48313592
      Junio C Hamano 提交于
      The reverse patch application using "git apply" sometimes is too
      rigid.  Since the user would get used to resolving conflicting merges
      by hand during the normal merge experience, using the same machinery
      would be more helpful rather than just giving up.
      
      Cherry-picking and reverting are essentially the same operation.
      You pick one commit, and apply the difference that commit introduces
      to its own commit ancestry chain to the current tree.  Revert applies
      the diff in reverse while cherry-pick applies it forward.  They share
      the same logic, just different messages and merge direction.
      
      Rewrite "git rebase" using "git cherry-pick".
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      48313592
  4. 27 8月, 2005 1 次提交
    • J
      Enable git-send-email-script on Debian. · 90bc118f
      Junio C Hamano 提交于
      You can define WITH_SEND_EMAIL to include the send-email command as
      part of the installation.  Since Debian, unlike RPM/Fedora, has the
      two necessary Perl modules available as part of the mainline
      distribution, there is no reason for us to shy away from shipping
      send-email.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      90bc118f
  5. 25 8月, 2005 4 次提交
  6. 23 8月, 2005 2 次提交
    • J
      Clean-up output from "git show-branch" and document it. · f5e375c9
      Junio C Hamano 提交于
      When showing only one branch a lot of default output becomes redundant,
      so clean it up a bit, and document what is shown.  Retire the earlier
      implementation "git-show-branches-script".
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f5e375c9
    • J
      [PATCH] Add 'git show-branch'. · f76412ed
      Junio C Hamano 提交于
      The 'git show-branches' command turns out to be reasonably useful,
      but painfully slow.  So rewrite it in C, using ideas from merge-base
      while enhancing it a bit more.
      
       - Unlike show-branches, it can take --heads (show me all my
         heads), --tags (show me all my tags), or --all (both).
      
       - It can take --more=<number> to show beyond the merge-base.
      
       - It shows the short name for each commit in the extended SHA1
         syntax.
      
       - It can find merge-base for more than two heads.
      
      Examples:
      
          $ git show-branch --more=6 HEAD
      
          is almost the same as "git log --pretty=oneline --max-count=6".
      
          $ git show-branch --merge-base master mhf misc
      
          finds the merge base of the three given heads.
      
          $ git show-branch master mhf misc
      
          shows logs from the top of these three branch heads, up to their
          common ancestor commit is shown.
      
          $ git show-branch --all --more=10
      
          is poor-man's gitk, showing all the tags and heads, and
          going back 10 commits beyond the merge base of those refs.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f76412ed
  7. 17 8月, 2005 1 次提交
  8. 15 8月, 2005 1 次提交
    • J
      Add git-show-branches-script · 7c27558c
      Junio C Hamano 提交于
      Often I find myself wanting to do quick branches check when I am
      not in the windowing environment and cannot run gitk.
      
      This stupid script shows commits leading to the heads of
      interesting branches with indication which ones belong to which
      branches, so that fork point is somewhat discernible without
      using gitk.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      7c27558c
  9. 13 8月, 2005 5 次提交
  10. 12 8月, 2005 1 次提交
  11. 11 8月, 2005 1 次提交
  12. 10 8月, 2005 2 次提交
    • J
      git-revert: revert an existing commit. · 045f82cb
      Junio C Hamano 提交于
      Given one existing commit, revert the change the patch
      introduces, and record a new commit that records it.  This
      requires your working tree to be clean (no modifications from
      the HEAD commit).
      
      This is based on what Linus posted to the list, with
      enhancements he suggested, including the use of -M to attempt
      reverting renames.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      045f82cb
    • J
      Downgrade git-send-email-script · 93b5fcdd
      Junio C Hamano 提交于
      RPM folks have problem installing the package otherwise.  Since
      its usefulness does have much to do with GIT, downgrade it to
      "contrib" status for now.  We may want to move it to contrib/
      subdirectory after auditing other programs when we reorganize
      the source tree.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      93b5fcdd
  13. 09 8月, 2005 1 次提交
  14. 07 8月, 2005 3 次提交
    • J
      Fix build rules for debian package. · f29eaed1
      Junio C Hamano 提交于
      Run install-tools target to install the tools to accept e-mail
      patches.  Also clean up the main Makefile a bit.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f29eaed1
    • J
      GIT 0.99.4 (release candidate) · 7a590132
      Junio C Hamano 提交于
      This is my first attempt to adjust Debian and RPM to pass
      prefix, to prepare the 0.99.4 release.
      
      It updates debian/rules and git-core.spec.in to properly pass
      prefix when building binary packages.  It also updates
      debian/changelog to make the resulting binary package name
      0.99.4; this is not needed on the RPM side (it takes the version
      number from the main Makefile).
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      7a590132
    • J
      Redo the templates generation and installation. · d3af621b
      Junio C Hamano 提交于
      Per discussion with people interested in binary packaging,
      change the default template location from /etc/git-core to
      /usr/share/git-core hierarchy.  If a user wants to run git
      before installing for whatever reason, in addition to adding
      $src to the PATH environment variable, git-init-db can be run
      with --template=$src/templates/blt/ parameter.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d3af621b
  15. 05 8月, 2005 1 次提交
    • J
      Update get_sha1() to grok extended format. · 9938af6a
      Junio C Hamano 提交于
      Everybody envies rev-parse, who is the only one that can grok
      the extended sha1 format.  Move the get_extended_sha1() out of
      rev-parse, rename it to get_sha1() and make it available to
      everybody else.
      
      The one I posted earlier to the list had one bug where it did
      not handle a name that ends with a digit correctly (it
      incorrectly tried the "Nth parent" path).  This commit fixes it.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      9938af6a
  16. 04 8月, 2005 2 次提交
    • J
      Retire check-files. · 20f66331
      Junio C Hamano 提交于
      The king penguin said:
      
          It has no point any more, all the tools check the file
          status on their own, and yes, the thing should probably be
          removed.
      
      and the faithful servant makes it so.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      20f66331
    • J
      Install sample hooks · 8d5afef0
      Junio C Hamano 提交于
      A template mechanism to populate newly initialized repository
      with default set of files is introduced.  Use it to ship example
      hooks that can be used for update and post update checks, as
      Josef Weidendorfer suggests.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      8d5afef0
  17. 03 8月, 2005 2 次提交
  18. 02 8月, 2005 1 次提交
    • J
      GIT 0.99.3 · 541ad6e2
      Junio C Hamano 提交于
      Things have slowly but surely started to settle down, and the
      http transport finally can natively grok packed repositories.
      To give Pasky a good anchor point, hoping that he can start
      split off the core part from Cogito, here is the 0.99.3, which
      will be accompanied with its own tag.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      541ad6e2
  19. 01 8月, 2005 4 次提交
    • J
      Retire git-fetch-dumb-http and missing-revs · 0f2b4c46
      Junio C Hamano 提交于
      Now git-http-pull knows how to do packed repo, retire scripted
      hacks I placed as a stop-gap measure.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      0f2b4c46
    • J
      [PATCH] Added hook in git-receive-pack · b1bf95bb
      Josef Weidendorfer 提交于
      Just before updating a ref,
      
          $GIT_DIR/hooks/update refname old-sha1 new-sha1
      
      is called if executable.  The hook can decline the ref to be
      updated by exiting with a non-zero status, or allow it to be
      updated by exiting with a zero status.  The mechanism also
      allows e.g sending of a mail with pushed commits on the remote
      repository.
      
      Documentation update with an example hook is included.
      
      jc: The credits of the basic idea and initial implementation go
      to Josef, but I ended up rewriting major parts of his patch, so
      bugs are all mine.  Also I changed the semantics for the hook
      from his original version (which were post-update hook) so that
      the hook can optionally decline to update the ref, and also can
      be used to implement the overall cleanups.  The latter was
      primarily to implement a suggestion from Linus that calling
      update-server-info should be made optional.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      b1bf95bb
    • J
      Add a stupid "count objects" script. · 60036a41
      Junio C Hamano 提交于
      This counts the number of unpacked object files and disk space
      consumed by them, to help you decide when it is a good time to
      repack.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      60036a41
    • J
      Fetch from a packed repository on dumb servers. · 96155e55
      Junio C Hamano 提交于
      Implement fetching from a packed repository over http/https
      using the dumb server support files.
      
      I consider some parts of the logic should be in a separate C
      program, but it appears to work with my simple tests.  I have
      backburnered it for a bit too long for my liking, so let's throw
      it out in the open and see what happens.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      96155e55
  20. 31 7月, 2005 2 次提交
    • J
      [PATCH] add NO_CURL option to the Makefile · b2c0bd65
      Johannes Schindelin 提交于
      This patch implements Linus' idea that if you are not interested in
      pulling by HTTP, you can now say
      
      	NO_CURL=1 make
      
      to compile everything except git-http-pull (thus not needing curl at all).
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      b2c0bd65
    • L
      [PATCH] Making it easier to find which change introduced a bug · 8cc6a083
      Linus Torvalds 提交于
      This adds a new "git bisect" command.
      
       - "git bisect start"
      	start bisection search.
      
       - "git bisect bad <rev>"
      	mark some version known-bad (if no arguments, then current HEAD)
      
       - "git bisect good <revs>..."
      	mark some versions known-good (if no arguments, then current HEAD)
      
       - "git bisect reset <branch>"
      	done with bisection search and go back to your work (if
      	no arguments, then "master").
      
      The way you use it is:
      
      	git bisect start
      	git bisect bad			# Current version is bad
      	git bisect good v2.6.13-rc2	# v2.6.13-rc2 was the last version
      					# tested that was good
      
      When you give at least one bad and one good versions, it will
      bisect the revision tree and say something like:
      
      	Bisecting: 675 revisions left to test after this
      
      and check out the state in the middle. Now, compile that kernel, and boot
      it. Now, let's say that this booted kernel works fine, then just do
      
      	git bisect good			# this one is good
      
      which will now say
      
      	Bisecting: 337 revisions left to test after this
      
      and you continue along, compiling that one, testing it, and depending on
      whether it is good or bad, you say "git bisect good" or "git bisect bad",
      and ask for the next bisection.
      
      Until you have no more left, and you'll have been left with the first bad
      kernel rev in "refs/bisect/bad".
      
      Oh, and then after you want to reset to the original head, do a
      
      	git bisect reset
      
      to get back to the master branch, instead of being in one of the bisection
      branches ("git bisect start" will do that for you too, actually: it will
      reset the bisection state, and before it does that it checks that you're
      not using some old bisection branch).
      
      Not really any harder than doing series of "quilt push" and "quilt pop",
      now is it?
      
      [jc: This patch is a rework based on what Linus posted to the
           list.  The changes are:
      
        - The original introduced four separate commands, which was
          three too many, so I merged them into one with subcommands.
          
        - Since the next thing you would want to do after telling it
          "bad" and "good" is always to bisect, this version does it
          automatically for you.
      
        - I think the termination condition was wrong.  The original
          version checked if the set of revisions reachable from next
          bisection but not rechable from any of the known good ones
          is empty, but if the current bisection was a bad one, this
          would not terminate, so I changed it to terminate it when
          the set becomes a singleton or empty.
      
        - Removed the use of shell array variable.
      
      ]
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      8cc6a083