1. 24 9月, 2007 1 次提交
  2. 09 9月, 2007 1 次提交
  3. 08 9月, 2007 1 次提交
    • E
      git-svn: fix "Malformed network data" with svn:// servers · a51cdb0c
      Eric Wong 提交于
      We have a workaround for the reparent function not working
      correctly on the SVN native protocol servers.  This workaround
      opens a new connection (SVN::Ra object) to the new
      URL/directory.
      
      Since libsvn appears limited to only supporting one connection
      at a time, this workaround invalidates the Git::SVN::Ra object
      that is $self inside gs_fetch_loop_common().  So we need to
      restart that connection once all the fetching is done for each
      loop iteration to be able to run get_log() successfully.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a51cdb0c
  4. 01 9月, 2007 2 次提交
  5. 23 8月, 2007 2 次提交
  6. 16 8月, 2007 1 次提交
  7. 31 7月, 2007 1 次提交
  8. 19 7月, 2007 1 次提交
  9. 16 7月, 2007 1 次提交
    • E
      git-svn: fix commiting renames over DAV with funky file names · 29633bb9
      Eric Wong 提交于
      Renaming files with non-URI friendly characters caused
      breakage when committing to DAV repositories (over http(s)).
      
      Even if I try leaving out the $self->{url} from the return value
      of url_path(), a partial (without host), unescaped path name
      does not work.
      
      Filenames for DAV repos need to be URI-encoded before being
      passed to the library.  Since this bug did not affect file://
      and svn:// repos, the git-svn test library needed to be expanded
      to include support for starting Apache with mod_dav_svn enabled.
      
      This new test is not enabled by default, but can be enabled by
      setting SVN_HTTPD_PORT to any available TCP/IP port on
      127.0.0.1.
      
      Additionally, for running this test, the following variables
      (with defaults shown) can be changed for the suitable system.
      The default values are set for Debian systems:
      
        SVN_HTTPD_MODULE_PATH=/usr/lib/apache2/modules
        SVN_HTTPD_PATH=/usr/sbin/apache2
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      29633bb9
  10. 15 7月, 2007 1 次提交
  11. 05 7月, 2007 1 次提交
    • E
      git-svn: fix blocking with svn:// servers after do_switch · 7730fbe6
      Eric Wong 提交于
      We now explicitly disconnect before starting new SVN::Ra
      connections.  SVN::Ra objects will automatically be disconnected
      from the server on DESTROY.
      
      SVN servers seem to have problems accepting multiple connections
      from one client, and the SVN library has trouble being connected
      to multiple servers at once.  This appears to cause opening the
      second connection to block, and cause git-svn to be unusable
      after using the do_switch() function.
      
      git-svn opens another connection because a workaround is
      necesary for the buggy reparent function handling on certain
      versions of svn:// and svn+ssh:// servers.  Instead of using the
      reparent function (analogous to chdir), it will reopen a new
      connection to a different URL on the SVN server.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      7730fbe6
  12. 01 7月, 2007 3 次提交
  13. 16 6月, 2007 1 次提交
  14. 14 6月, 2007 3 次提交
  15. 07 6月, 2007 2 次提交
  16. 29 5月, 2007 1 次提交
  17. 26 5月, 2007 1 次提交
  18. 20 5月, 2007 2 次提交
    • E
      git-svn: don't minimize-url when doing an init that tracks multiple paths · dc431666
      Eric Wong 提交于
      I didn't have a chance to test the off-by-default minimize-url
      stuff enough before, but it's quite broken for people passing
      the --trunk/-T, --tags/-t, --branches/-b switches to "init" or
      "clone" commands.
      
      Additionally, follow-parent functionality seems broken when we're
      not connected to the root of the repository.
      
      Default behavior for "traditional" git-svn users who only track
      one directory (without needing follow-parent) should be
      reasonable, as those users started using things before
      minimize-url functionality existed.
      
      Behavior for users more used to the git-svnimport-like command
      line will also benefit from a more-flexible command-line than
      svnimport given the assumption they're working with
      non-restrictive read permissions on the repository.
      
      I hope to properly fix these bugs when I get a chance to in the
      next week or so, but I would like to get this stopgap measure of
      reverting to the old behavior as soon as possible.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      dc431666
    • E
      git-svn: avoid crashing svnserve when creating new directories · 6442754d
      Eric Wong 提交于
      When sorting directory names by depth (slash ("/") count) and
      closing the deepest directories first (as the protocol
      requires), we failed to put the root baton (with an empty string
      as its key "") after top-level directories (which did not have
      any slashes).
      
      This resulted in svnserve being in a situation it couldn't
      handle and caused a segmentation fault on the remote server.
      
      This bug did not affect users of DAV and filesystem repositories.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Confirmed-by: NMatthieu Moy <Matthieu.Moy@imag.fr>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      6442754d
  19. 14 5月, 2007 4 次提交
    • E
      git-svn: don't attempt to minimize URLs by default · 4a1bb4c3
      Eric Wong 提交于
      For tracking branches and tags, git-svn prefers to connect
      to the root of the repository or at least the level that
      houses branches and tags as well as trunk.  However, users
      that are accustomed to tracking a single directory have
      no use for this feature.
      
      As pointed out by Junio, users may not have permissions to
      connect to connect to a higher-level path in the repository.
      
      While the current minimize_url() function detects lack of
      permissions to certain paths _after_ successful logins, it
      cannot effectively determine if it is trying to access a
      login-only portion of a repo when the user expects to
      connect to a part where anonymous access is allowed.
      
      For people used to the git-svnimport switches of
      --trunk, --tags, --branches, they'll already pass the
      repository root (or root+subdirectory), so minimize URL
      isn't of too much use to them, either.
      
      For people *not* used to git-svnimport, git-svn also
      supports:
      
       git svn init --minimize-url \
        --trunk http://repository-root/foo/trunk \
        --branches http://repository-root/foo/branches \
        --tags http://repository-root/foo/tags
      
      And this is where the new --minimize-url command-line switch
      comes in to allow for this behavior to continue working.
      4a1bb4c3
    • E
      git-svn: fix segfaults due to initial SVN pool being cleared · 4c03c3eb
      Eric Wong 提交于
      Some parts of SVN always seem to use it, even if the SVN::Ra
      object we're using is no longer used and we've created a new one
      in its place.  It's also true that only one SVN::Ra connection
      can exist at once...  Using SVN::Pool->new_default when the
      SVN::Ra object is created doesn't seem to help very much,
      either...
      
      Hopefully this fixes all segfault problems users have been
      experiencing over the past few months.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      4c03c3eb
    • E
      git-svn: clean up caching of SVN::Ra functions · 0dc03d6a
      Eric Wong 提交于
      This patch was originally intended to make the Perl GC more
      sensitive to the SVN::Pool objects and not accidentally clean
      them up when they shouldn't be (causing segfaults).  That didn't
      work, but this patch makes the code a bit cleaner regardless
      
      Put our caches for get_dir and check_path calls directly into
      the SVN::Ra object so they auto-expire when it is destroyed.
      
      dirents returned by get_dir() no longer needs the pool object
      stored persistently along with the cache data, as they'll be
      converted to native Perl hash references.
      
      Since calling rev_proplist repeatedly per-revision is no longer
      needed in git-svn, we do not cache calls to it.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      0dc03d6a
    • E
      git-svn: don't drop the username from URLs when dcommit is run · 645833b5
      Eric Wong 提交于
      We no longer store usernames in URLs stored in git-svn-id lines
      for dcommit, so we shouldn't rely on those URLs when connecting
      to the remote repository to commit.
      645833b5
  20. 05 5月, 2007 1 次提交
  21. 01 5月, 2007 2 次提交
  22. 28 4月, 2007 1 次提交
  23. 26 4月, 2007 2 次提交
  24. 25 4月, 2007 1 次提交
  25. 19 4月, 2007 1 次提交
  26. 17 4月, 2007 2 次提交