1. 16 10月, 2005 8 次提交
    • J
      Show peeled onion from upload-pack and server-info. · f6b42a81
      Junio C Hamano 提交于
      This updates git-ls-remote to show SHA1 names of objects that are
      referred by tags, in the "ref^{}" notation.
      
      This would make git-findtags (without -t flag) almost trivial.
      
          git-peek-remote . |
          sed -ne "s:^$target	"'refs/tags/\(.*\)^{}$:\1:p'
      
      Also Pasky could do:
      
          git-ls-remote --tags $remote |
          sed -ne 's:\(	refs/tags/.*\)^{}$:\1:p'
      
      to find out what object each of the remote tags refers to, and
      if he has one locally, run "git-fetch $remote tag $tagname" to
      automatically catch up with the upstream tags.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f6b42a81
    • J
      Introduce notation "ref^{type}". · 5385f52d
      Junio C Hamano 提交于
      Existing "tagname^0" notation means "dereference tag zero or more
      times until you cannot dereference it anymore, and make sure it is a
      commit -- otherwise barf".  But tags do not necessarily reference
      commit objects.
      
      This commit introduces a bit more generalized notation, "ref^{type}".
      Existing "ref^0" is a shorthand for "ref^{commit}".  If the type
      is empty, it just dereferences tags until it hits a non-tag object.
      
      With this, "git-rev-parse --verify 'junio-gpg-pub^{}'" shows the blob
      object name -- there is no need to manually read the tag object and
      find out the object name anymore.
      
      "git-rev-parse --verify 'HEAD^{tree}'" can be used to find out the
      tree object name of the HEAD commit.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      5385f52d
    • J
      Ignore funny refname sent from remote · 1a7141ff
      Junio C Hamano 提交于
      This allows the remote side (most notably, upload-pack) to show
      additional information without affecting the downloader.  Peek-remote
      does not ignore them -- this is to make it useful for Pasky's
      automatic tag following.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      1a7141ff
    • J
      Refuse to create funny refs in clone-pack, git-fetch and receive-pack. · d8a1deec
      Junio C Hamano 提交于
      Using git-check-ref-format, make sure we do not create refs with
      funny names when cloning from elsewhere (clone-pack), fast forwarding
      local heads (git-fetch), or somebody pushes into us (receive-pack).
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d8a1deec
    • J
      git-check-ref-format: reject funny ref names. · 03feddd6
      Junio C Hamano 提交于
      Update check_ref_format() function to reject ref names that:
      
       * has a path component that begins with a ".", or
       * has a double dots "..", or
       * has ASCII control character, "~", "^", ":" or SP, anywhere, or
       * ends with a "/".
      
      Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure
      that newly created refs are well-formed.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      03feddd6
    • J
      Merge branch 'fixes' · f51248eb
      Junio C Hamano 提交于
      f51248eb
    • J
      Show curl error a bit better. · f80376c5
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f80376c5
    • J
      Some curl versions lack curl_easy_duphandle() · 7baa3e86
      Johannes Schindelin 提交于
      Hi,
      
      On Fri, 14 Oct 2005, Junio C Hamano wrote:
      
      > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
      >
      > > This patch looks bigger than it really is: The code to get the
      > > default handle was refactored into a function, and is called
      > > instead of curl_easy_duphandle() if that does not exist.
      >
      > I'd like to take Nick's config file patch first, which
      > unfortunately interferes with your patch.  I'd hate to ask you
      > this, but could you rebase it on top of Nick's patch, [...]
      
      No need to hate it. Here comes the rebased patch, and this time, I
      actually tested it a bit.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      7baa3e86
  2. 15 10月, 2005 6 次提交
  3. 14 10月, 2005 10 次提交
  4. 13 10月, 2005 5 次提交
  5. 12 10月, 2005 11 次提交
    • J
      git-fetch --tags: deal with tags with spaces in them. · 221e743c
      Junio C Hamano 提交于
      "git-fetch --tags" can get confused with tags with spaces in their names,
      it used to use shell IFS to split the list of tags and also used curl
      which insists the URL to be escaped.  Fix it so it can work with Martin's
      moodle repository http://locke.catalyst.net.nz/git/moodle.git/.
      
      We still reserve characters like leading plus-sign '+' and colon
      ':' anywhere to represent refspec src-dst pair, and obviously we
      cannot use LF (that terminates Pull: line in .git/remotes
      files), but now you can have spaces with this patch.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      221e743c
    • J
      Quote reference names while fetching with curl. · 94fa447a
      Junio C Hamano 提交于
      curl_escape ought to do this, but we should not let it quote
      slashes (nobody said refs/tags cannot have subdirectories), so
      we roll our own safer version.  With this, the last part of
      git-clone from Martin's moodle repository that used to fail now
      works, which reads:
      
       $ git-http-fetch -v -a -w 'tags/MOODLE_15_MERGED **INVALID**' \
         'tags/MOODLE_15_MERGED **INVALID**' \
         http://locke.catalyst.net.nz/git/moodle.git/Signed-off-by: NJunio C Hamano <junkio@cox.net>
      94fa447a
    • J
      Merge branch 'fixes' · d06b689a
      Junio C Hamano 提交于
      d06b689a
    • M
      [PATCH] cvsimport: don't pass --cvs-direct if user options contradict us · df73e9c6
      Martin Langhoff 提交于
      Detecting if the user passed --no-cvs-direct and don't force the mode.
      It allows us to support all the protocol that the standard cvs client
      supports at the snail speed you should expect.
      
      This only affects the rlog reading stage.
      Signed-off-by: NMartin Langhoff <martin@catalyst.net.nz>
      df73e9c6
    • L
      Make git config variable names case-insensitive · 128af9d1
      Linus Torvalds 提交于
      They always were meant to be case-insensitive, but I had missed one
      "tolower()", making that not true.
      
      The actual _values_ aren't case-insensitive, of course, although some uses
      of them may be (ie boolean parsing uses "strcasecmp()" to match against
      the strings "true" and "false").
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      128af9d1
    • L
      Use git config file for committer name and email info · e1b10391
      Linus Torvalds 提交于
      This starts using the "user.name" and "user.email" config variables if
      they exist as the default name and email when committing.  This means
      that you don't have to use the GIT_COMMITTER_EMAIL environment variable
      to override your email - you can just edit the config file instead.
      
      The patch looks bigger than it is because it makes the default name and
      email information non-static and renames it appropriately.  And it moves
      the common git environment variables into a new library file, so that
      you can link against libgit.a and get the git environment without having
      to link in zlib and libcrypt.
      
      In short, most of it is renaming and moving, the real change core is
      just a few new lines in "git_default_config()" that copies the user
      config values to the new base.
      
      It also changes "git-var -l" to list the config variables.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      e1b10391
    • T
      Export template_dir in Makefile. · ec2d1511
      Tom Prince 提交于
      If somebody set template_dir in config.mak. Then git-init-db would be
      compiled with the correct location but the templates would be installed
      in the default location. Fix it.
      Signed-off-by: NTom Prince <tom.prince@ualberta.net>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ec2d1511
    • J
      Use core.filemode. · 3e09cdfd
      Junio C Hamano 提交于
      With "[core] filemode = false", you can tell git to ignore
      differences in the working tree file only in executable bit.
      
       * "git-update-index --refresh" does not say "needs update" if index
         entry and working tree file differs only in executable bit.
      
       * "git-update-index" on an existing path takes executable bit
         from the existing index entry, if the path and index entry are
         both regular files.
      
       * "git-diff-files" and "git-diff-index" without --cached flag
         pretend the path on the filesystem has the same executable
         bit as the existing index entry, if the path and index entry
         are both regular files.
      
      If you are on a filesystem with unreliable mode bits, you may need to
      force the executable bit after registering the path in the index.
      
       * "git-update-index --chmod=+x foo" flips the executable bit of the
         index file entry for path "foo" on.  Use "--chmod=-x" to flip it
         off.
      
      Note that --chmod only works in index file and does not look at nor
      update the working tree.
      
      So if you are on a filesystem and do not have working executable bit,
      you would do:
      
       1. set the appropriate .git/config option;
      
       2. "git-update-index --add new-file.c"
      
       3. "git-ls-files --stage new-file.c" to see if it has the desired
         mode bits.  If not, e.g. to drop executable bit picked up from the
         filesystem, say "git-update-index --chmod=-x new-file.c".
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      3e09cdfd
    • L
      Improve config file escape sanity checking · 5cbb401d
      Linus Torvalds 提交于
      I had meant to disallow unknown escape characters in the config file
      parser, but instead an unknown escaped character would silently pass
      through as itself. That's correct for some cases (notably '\' itself), but
      wasn't correct in general.
      
      This fixes it, and makes the parser write a nice error message if the
      config file contains bogus escaped characters.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      5cbb401d
    • J
      show-branch: optionally use unique prefix as name. · 013f276e
      Junio C Hamano 提交于
      git-show-branch acquires two new options. --sha1-name to name
      commits using the unique prefix of their object names, and
      --no-name to not to show names at all.
      
      This was outlined in <7vk6gpyuyr.fsf@assigned-by-dhcp.cox.net>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      013f276e
    • J
      Support custom build options in config.mak · f2d6a256
      Johannes Schindelin 提交于
      With this patch, it is possible to store configuration options like
      NO_CURL=YesPlease or NO_OPENSSL=YesPlease into a file named
      config.mak, which will be included in the Makefile.
      
      [jc: redone with suggestion from Daniel Barkalow to just use -include]
      Signed-off-by: NJohannes Schindelin <Johannes.Schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f2d6a256