Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 485402
Collapse All | Expand All

(-)a/pym/_emerge/actions.py (-8 / +27 lines)
Lines 2176-2192 def _sync_repo(emerge_config, repo): Link Here
2176
				writemsg_level("!!! %s\n" % l,
2176
				writemsg_level("!!! %s\n" % l,
2177
					level=logging.ERROR, noiselevel=-1)
2177
					level=logging.ERROR, noiselevel=-1)
2178
			return 1
2178
			return 1
2179
		msg = ">>> Starting git pull in %s..." % repo.location
2179
		# Test if the directory is a valid git repo, and run
2180
		emergelog(xterm_titles, msg )
2180
		# git clone if not
2181
		writemsg_level(msg + "\n")
2181
		exitcode = portage.process.spawn_bash("cd %s ; git rev-parse" %\
2182
		exitcode = portage.process.spawn_bash("cd %s ; git pull" % \
2183
			(portage._shell_quote(repo.location),),
2182
			(portage._shell_quote(repo.location),),
2184
			**portage._native_kwargs(spawn_kwargs))
2183
			**portage._native_kwargs(spawn_kwargs))
2185
		if exitcode != os.EX_OK:
2184
		if exitcode == 128:
2186
			msg = "!!! git pull error in %s." % repo.location
2185
			msg = "!!! Git repo does not already exist, cloning from upstream..."
2187
			emergelog(xterm_titles, msg)
2186
			emergelog(xterm_titles, msg)
2188
			writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1)
2187
			writemsg_level(msg + "\n")
2189
			return exitcode
2188
			exitcode = portage.process.spawn_bash("cd %s ; git clone %s ." % \
2189
				(portage._shell_quote(repo.location),
2190
				portage._shell_quote(repo.sync_uri)),
2191
				**portage._native_kwargs(spawn_kwargs))
2192
			if exitcode != os.EX_OK:
2193
				msg = "!!! git clone error in %s." % repo.location
2194
				emergelog(xterm_titles, msg)
2195
				writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1)
2196
				return exitcode
2197
		else:
2198
			msg = ">>> Starting git pull in %s..." % repo.location
2199
			emergelog(xterm_titles, msg )
2200
			writemsg_level(msg + "\n")
2201
			exitcode = portage.process.spawn_bash("cd %s ; git pull" % \
2202
				(portage._shell_quote(repo.location),),
2203
				**portage._native_kwargs(spawn_kwargs))
2204
			if exitcode != os.EX_OK:
2205
				msg = "!!! git pull error in %s." % repo.location
2206
				emergelog(xterm_titles, msg)
2207
				writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1)
2208
				return exitcode
2190
		msg = ">>> Git pull in %s successful" % repo.location
2209
		msg = ">>> Git pull in %s successful" % repo.location
2191
		emergelog(xterm_titles, msg)
2210
		emergelog(xterm_titles, msg)
2192
		writemsg_level(msg + "\n")
2211
		writemsg_level(msg + "\n")

Return to bug 485402