ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: devel@lists.altlinux.org
Subject: [devel] git-merge-recursive fails on symlinks
Date: Tue, 10 Oct 2006 23:09:06 +0400
Message-ID: <20061010190906.GL8008@localhost.localdomain> (raw)

[-- Attachment #1: Type: text/plain, Size: 1458 bytes --]

/usr/bin/git-merge-recursive:
   266          if stat.S_ISREG(mode):
   267              try:
   268                  os.unlink(path)
   269              except OSError:
   270                  pass
   271              if mode & 0100:
   272                  mode = 0777
   273              else:
   274                  mode = 0666
   275              fd = os.open(path, os.O_WRONLY | os.O_TRUNC | os.O_CREAT, mode)
   276              proc = subprocess.Popen(prog, stdout=fd)
   277              proc.wait()
   278              os.close(fd)
   279          elif stat.S_ISLNK(mode):
   280              linkTarget = runProgram(prog)
   281              os.symlink(linkTarget, path)
   282          else:
   283              assert(False)

os.symlink на строке 281 у меня выпало с ошибкой типа path exists.

--- /usr/bin/git-merge-recursive-	2006-10-06 12:18:27 +0400
+++ /usr/bin/git-merge-recursive	2006-10-10 23:00:45 +0400
@@ -263,11 +263,11 @@ def updateFileExt(sha, mode, path, updat
                     die("Couldn't create directory", p, e.strerror)
 
         prog = ['git-cat-file', 'blob', sha]
+        try:
+            os.unlink(path)
+        except OSError:
+            pass
         if stat.S_ISREG(mode):
-            try:
-                os.unlink(path)
-            except OSError:
-                pass
             if mode & 0100:
                 mode = 0777
             else:
End of patch

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

             reply	other threads:[~2006-10-10 19:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-10 19:09 Alexey Tourbin [this message]
2006-10-10 19:18 ` Dmitry V. Levin
2006-10-10 19:31   ` Alexey Tourbin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061010190906.GL8008@localhost.localdomain \
    --to=at@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git