[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[l10n-sync] Updating sync script on git migration



Hi,

I have prepared the modification for the l10n-sync script, 
please review.


Holger

-- 
============================================================
Created with Sylpheed 3.5.1 under 
	D E B I A N   L I N U X   9   " S T R E T C H " .

Registered Linux User #311290 - https://linuxcounter.net/
============================================================
--- l10n-sync	2018-06-03 14:07:10.583896235 +0200
+++ l10n-sync_workingcopy	2018-06-03 15:35:38.039508152 +0200
@@ -7,6 +7,14 @@
 # Translators, DO NOT RUN THIS SCRIPT YOURSELVES!!!!
 #
 
+# Declaration:
+# This process has two parts:
+#   1. the packages/po directory, where translators are working in;
+#   2. the around 97 directories for the different packages in d-i.
+# In the past, part 1 was in svn, while part 2 was git.
+# Now, both are git repos, therefore I changed "svn" into "gitpo".
+#
+
 export LC_ALL=en_US.UTF-8
 
 COMMIT_MARKER="[l10n] "
@@ -20,7 +28,6 @@
 UPDATEPO=Y
 SYNCPKGS=Y
 QUIET=N
-svn=svn
 git=git
 debconfupdatepo=debconf-updatepo
 
@@ -32,7 +39,7 @@
 
 usage() {
 echo  "Usage:"
-echo  "$0 [--online] [--keep-revision lang] [--atomic] [--atomic-updates] [--commit] [--levels="number_of_levels"] [--svn="path_to_svn"] [--git="path_to_git"] [--debconf-updatepo="debconf-updatepo command"] [--quiet|--nolog] <D-I repository path>"
+echo  "$0 [--online] [--keep-revision lang] [--atomic] [--atomic-updates] [--commit] [--levels="number_of_levels"] [--git="path_to_git"] [--debconf-updatepo="debconf-updatepo command"] [--quiet|--nolog] <D-I repository path>"
 echo  "    --online            : Work online (will update the local copy on"
 echo  "                          the fly)"
 echo  "    --commit            : Commit changed files (implies --online)"
@@ -46,7 +53,6 @@
 echo  "                          meant for use when switching a language"
 echo  "                          NOT RECOMMENDED in other situations"
 echo  "    --levels            : number of levels"
-echo  "    --svn               : path to the svn binary"
 echo  "    --git               : path to the git binary"
 echo  "    --debconf-updatepo  : debconf-updatepo command line"
 echo  "                          (for using hacked debconf-updatepo)"
@@ -58,18 +64,18 @@
 echo  " <D-I repository path>: path to the local copy of the D-I repository"
 }
 
-svnerr() {
-	echo "Error in a SVN operation, please investigate"
-	echo "Trying to cleanup locks..."
-	if "$DI_COPY" ;  then
-		cd $DI_COPY
-		$svn cleanup
-	fi
+gitpoerr() {
+	echo "Error in a GIT operation at packages/po dir, please investigate"
+#	echo "Trying to cleanup locks..."
+#	if "$DI_COPY" ;  then
+#		cd $DI_COPY
+#		$svn cleanup
+#	fi
 	exit 1
 }
 
 giterr() {
-	echo "Error in a GIT operation, please investigate"
+	echo "Error in a GIT operation in one of the package dirs, please investigate"
 	exit 2
 }
 
@@ -254,9 +260,6 @@
 	"--levels="*)
 		NUMLEVELS=`echo $1|cut -f2 -d=`
 		;;
-	"--svn="*)
-		svn=`echo $1|cut -f2 -d=`
-		;;
 	"--git="*)
 		git=`echo $1|cut -f2 -d=`
 		;;
@@ -320,11 +323,12 @@
 	exit 1
 fi
 
-if [ ! -d $DI_COPY/.svn ] ; then
-	error "No $DI_COPY/.svn directory found"
-	error "$DI_COPY may not be a copy of Debian Installer SVN repository"
-	exit 1
-fi
+# The packages/po dir is no longer a repository for it's own now.
+#if [ ! -d $DI_COPY/.svn ] ; then
+#	error "No $DI_COPY/.svn directory found"
+#	error "$DI_COPY may not be a copy of Debian Installer SVN repository"
+#	exit 1
+#fi
 
 if [ -n "$MERGEDIR" ] ; then
 	if [ ! -d "$MERGEDIR" ] ; then
@@ -346,8 +350,9 @@
 done
 
 # Do not accept working on an unclean copy
-if $(svn st $DI_COPY/packages/po | grep -q "^C") ; then
-	error "$DI_COPY seems to contain some SVN conflict files"
+if $($git status -s -uno $DI_COPY/packages/po) ; then
+	error "$DI_COPY seems to contain some GIT conflict files"
+	error "in packages/po."
 	error "Please fix this before launching the script again"
 	exit 1
 fi
@@ -360,7 +365,7 @@
 cd $DI_COPY/packages/po
 if [ "$ONLINE" = "Y" ] ; then
 	log_cmd -p "Synchronize $DI_COPY/packages..." \
-		$svn update || svnerr
+		$git pull || gitpoerr
 fi
 
 # Check the packages/po/run-l10n-sync file
@@ -401,22 +406,26 @@
 #cd $DI_COPY
 #if [ "$ONLINE" = "Y" ] ; then
 #	log_cmd -p "Synchronize $DI_COPY/packages..." \
-#		$svn update || svnerr
+#		$svn update || gitpoerr
 #fi
 
 # In case a merge has to be done with another directory
 # we update this directory as well
-if [ -n "$MERGEDIR" ] ; then
-	cd $MERGEDIR/packages/po
-	if [ "$ONLINE" = "Y" ] ; then
-		log_cmd -p "Synchronize the merge directory $MERGEDIR/packages/po..." \
-			$svn update || svnerr
-	fi
-fi
+#
+# !!! There is no need to do this anymore, since now we have everything in one repo.
+#
+#if [ -n "$MERGEDIR" ] ; then
+#	cd $MERGEDIR/packages/po
+#	if [ "$ONLINE" = "Y" ] ; then
+#		log_cmd -p "Synchronize the merge directory $MERGEDIR/packages/po..." \
+#			$svn update || gitpoerr
+#	fi
+#fi
 
 # Let's check the thing again....ceinture et bretelles as we say in French
-if $(svn st $DI_COPY/packages/po | grep -q "^C") ; then
-	error "$DI_COPY seems to contain some SVN conflict files"
+if $($git status -s -uno $DI_COPY/packages/po) ; then
+	error "$DI_COPY seems to contain some GIT conflict files"
+	error "in packages/po."
 	error "Please fix this before lauching the script again"
 	exit 1
 fi
@@ -441,7 +450,8 @@
 	for i in  $packages; do 
 		log "- $i"
 		cd $DI_COPY/packages/$i/debian
-		cd $DI_COPY/packages/$i/debian
+# ??????? Why two identical lines ??????
+#		cd $DI_COPY/packages/$i/debian
 		log_cmd -p "  - Run debconf-updatepo..." \
 			$debconfupdatepo
 		if [ "$COMMIT" = "Y" ] ; then
@@ -465,7 +475,7 @@
 log "- Merge all package templates.pot files..."
 # Check that the next msgcat will not fail (otherwise the template.pot would be empty!)
 if ! msgcat ${pots} >/dev/null 2>&1 ; then
-	svnerr
+	gitpoerr
 fi
 log_cmd --pass msgcat $pots | \
 	sed 's/charset=CHARSET/charset=UTF-8/g' >$DI_COPY/packages/po/template.pot.new
@@ -663,7 +673,9 @@
 
 if [ "$COMMIT" = "Y" ] ; then
 	log_cmd -p "Commit all general PO/POT files to SVN..." \
-		$svn commit -m \"$COMMIT_MARKER Updated packages/po/* against package templates\" || svnerr
+		$git add *.po
+		$git commit -m \"$COMMIT_MARKER Updated packages/po/* against package templates\" || gitpoerr
+		$git push
 fi
 log ""
 
@@ -679,7 +691,7 @@
 		cd $DI_COPY/packages/$package/debian/po
 		if [ "$ONLINE" = "Y" ] ; then
 			log_cmd -p "  - synchronize with D-I repository..." \
-				$git pull || svnerr
+				$git pull || gitpoerr
 		fi
 		log "  - rebuild language files"
 		# For each language listed in packages/po, update PO files

Reply to: