Vivasoft-logo

ā§¯.ā§¨ āĻ—āĻŋāĻŸ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ – āĻ—āĻŋāĻŸ-āĻ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻŸ āĻ•āĻ°āĻž

āĻ—āĻŋāĻŸ āĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻž

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄāĻŦā§‡āĻ¸ āĻ­āĻŋāĻ¸āĻŋāĻāĻ¸ -āĻ āĻĨāĻžāĻ•ā§‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ—āĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžā§Ÿā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ° āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻļāĻŋāĻ–āĻŦā§‡āĻ¨ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒā§‡āĻļāĻžāĻĻāĻžāĻ°āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻāĻ¸āĻ¸āĻŋāĻāĻŽ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻŸāĻž āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻžāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ‡-āĻ•ā§‹ā§ŸāĻžāĻ˛āĻŋāĻŸāĻŋ āĻŸā§āĻ˛āĻ¸ āĻ¸āĻšāĻœā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ—āĻŋāĻŸ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§‡āĻ•āĻļāĻ¨āĻŸāĻŋ āĻĒāĻĄāĻŧā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸā§‹āĻ°āĻŋ āĻ—āĻŋāĻŸ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸ā§‡āĻ‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ°āĻĒāĻ° āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ—āĻŋāĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒā§āĻļ āĻĻāĻŋāĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻŋāĻ¸ā§āĻŸāĻ°āĻŋ āĻšāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°āĻ¸āĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ˛ āĻ•āĻ°ā§‡ āĻ†āĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻ¯āĻž āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡)āĨ¤ āĻ¤āĻŦā§‡, āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻžāĻŸāĻž āĻ¸āĻ āĻŋāĻ• āĻ¸āĻŋāĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻžāĻ¤ā§‡ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§‡āĻļāĻŋ āĻ˛āĻžāĻ—ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ…āĻĨāĻ° āĻāĻ° āĻ¤āĻĨā§āĻ¯āĨ¤ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ā§‡ āĻ¯āĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻĨāĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•ā§‡āĻ° āĻ•āĻŽāĻŋāĻŸ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°ā§‡ āĻ°āĻžāĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§‡āĻ•āĻļāĻ¨ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ•āĻŋāĻ›ā§ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ schacon āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨ āĻŦā§āĻ˛ā§‡āĻŽ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻŦāĻ‚ git svn logāĨ¤Â  āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ āĻ—āĻŋāĻŸ āĻ…āĻĨāĻ° āĻāĻ° āĻĄā§‡āĻŸāĻžāĻ¤ā§‡ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ—āĻŋāĻŸ āĻ…āĻĨāĻ° āĻāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ user.txt āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻāĻ‡ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻŸāĻŋ āĻāĻ‡āĻ°āĻ•āĻŽā§‡āĻ° āĻšā§Ÿ:
				
					schacon = Scott Chacon <schacon@geemail.com>
selse = Someone Else <selse@geemail.com>
				
			

āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻĨāĻ° āĻāĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

				
					$ svn log --xml --quiet | grep author | sort -u | \
  perl -pe 's/.*>(.*?)<.*/$1 = /'
				
			

āĻāĻŸāĻŋ XML āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻ˛āĻ— āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ…āĻĨāĻ° āĻāĻ° āĻ¤āĻĨā§āĻ¯ āĻ¸āĻš āĻ˛āĻžāĻ‡āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ°āĻžāĻ–ā§‡, āĻĄā§āĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°ā§‡, XML āĻŸā§āĻ¯āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻŦā§‡āĻ° āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧ ā§ˇ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ—ā§āĻ°ā§‡āĻĒ, āĻļāĻ°ā§āĻŸ āĻāĻŦāĻ‚ āĻĒāĻžāĻ°ā§āĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡, āĻ¸ā§‡āĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŸāĻŋāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° user.txt āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ°āĻŋāĻĄāĻžāĻ‡āĻ°ā§‡āĻ•ā§āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋāĻ° āĻĒāĻžāĻļā§‡ āĻāĻ•āĻ‡āĻ°āĻ•āĻŽ āĻ—āĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĄā§‡āĻŸāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸ā§‡āĻ‡ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧāĻŦā§‡āĻ¨āĨ¤ āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻĢāĻŸ āĻ•āĻŋāĻ›ā§ āĻ­āĻžāĻ˛ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻāĻŦāĻ‚ āĻ¨āĻŽā§āĻ¨āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡ https://docs.microsoft.com/en-us/azure/devops/repos/git/perform-migration-from-svn-to-git.
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ -āĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻ…āĻĨāĻ° āĻāĻ° āĻĄā§‡āĻŸāĻž āĻ†āĻ°āĻ“ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻŦāĻž init āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ –no-metadata āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¯ā§‡ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ āĻ—āĻŋāĻŸ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ -āĻ•ā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ—āĻŋāĻŸ āĻ˛āĻ—āĻ•ā§‡ āĻŦā§āĻ˛ā§‹āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ…āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ•āĻ°āĻž āĻ•āĻŽāĻŋāĻŸ āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ¸āĻ˛ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¨āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžÂ  āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻŽāĻŋāĻŸ āĻ˛āĻ—ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ¨āĻž āĻšāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻŦāĻŋāĻ§āĻžāĻ¯āĻŧ  –no-metadata āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¨āĨ¤

āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ•ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

				
					$ git svn clone http://my-project.googlecode.com/svn/ \
      --authors-file=users.txt --no-metadata --prefix "" -s my_project
$ cd my_project
				
			

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° my_project āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ•āĻŽāĻŋāĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽ:

				
					commit 37efa680e8473b615de980fa935944215428a35a
Author: schacon <schacon@4c93b258-373f-11de-be05-5f7a86268029>
Date:   Sun May 3 00:12:22 2009 +0000

    fixed install - go to trunk

    git-svn-id: https://my-project.googlecode.com/svn/trunk@94 4c93b258-373f-11de-
    be05-5f7a86268029


				
			

āĻ¤āĻžāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ°āĻ•āĻŽ :

				
					commit 03a8785f44c8ea5cdb0e8834b7c8e6c469be2ff2
Author: Scott Chacon <schacon@geemail.com>
Date:   Sun May 3 00:12:22 2009 +0000

    fixed install - go to trunk
				
			

āĻ…āĻĨāĻ° āĻĢāĻŋāĻ˛ā§āĻĄ āĻāĻ–āĻ¨ āĻ…āĻ¨ā§‡āĻ• āĻ­āĻžāĻ˛ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ git-svn-id āĻ“ āĻ†āĻ° āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ–āĻ¨ post-import āĻ•ā§āĻ˛āĻŋāĻ¨āĻ†āĻĒ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ā§€ā§Ÿ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ˛āĻŋāĻ¨āĻ†āĻĒ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯āĻž āĻ—āĻŋāĻŸ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŸā§āĻ¯āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ°āĻŋāĻŽā§‹āĻŸ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻŸā§āĻ¯āĻžāĻ— āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻžāĻ•āĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻšāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ˛ā§‹āĻ•āĻžāĻ˛ āĻšāĻ¯āĻŧāĨ¤

āĻŸā§āĻ¯āĻžāĻ—āĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ¸āĻ°āĻŋā§Ÿā§‡ āĻ¸āĻ āĻŋāĻ• āĻ—āĻŋāĻŸ āĻŸā§āĻ¯āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

				
					$ for t in $(git for-each-ref --format='%(refname:short)' refs/remotes/tags); do git tag ${t/tags\//} $t && git branch -D -r $t; done


				
			

āĻāĻŸāĻŋ āĻ°āĻŋāĻŽā§‹āĻŸ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¨ā§‡āĻ¯āĻŧ āĻ¯āĻž refs/remotes/tags/ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¯āĻĨā§‹āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ†āĻ¸āĻ˛ (āĻšāĻžāĻ˛āĻ•āĻž) āĻŸā§āĻ¯āĻžāĻ— āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤Â 

āĻāĻ°āĻĒāĻ°ā§‡, āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸/āĻ°āĻŋāĻŽā§‹āĻŸā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŦāĻžāĻ•āĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ˛ā§‹āĻ•āĻžāĻ˛ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻšāĻ¤ā§‡ āĻ¸āĻ°āĻžāĻ¨:

				
					$ for b in $(git for-each-ref --format='%(refname:short)' refs/remotes); do git branch $b refs/remotes/$b && git branch -D -r $b; done


				
			

āĻāĻŸāĻŋ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋāĻ›ā§ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ¯āĻž @xxx āĻĻā§āĻŦāĻžāĻ°āĻž suffixed (āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ xxx āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž), āĻ¯āĻ–āĻ¨ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ†āĻ¸āĻ˛ā§‡ “peg-revisions” āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, āĻ¯āĻž āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ—āĻŋāĻŸ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‚āĻĒ āĻ¨ā§‡āĻ‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ—āĻŋāĻŸ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ āĻ āĻŋāĻ• āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻ¤ā§‡ āĻāĻŸāĻŋ āĻ˛āĻŋāĻ–ā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻ¸ā§‡āĻ‡ āĻļāĻžāĻ–āĻžāĻ° “peg-revisions” āĻāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ “peg-revisions” āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ†āĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨āĻž āĻĒā§œā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¨:

				
					for p in $(git for-each-ref --format='%(refname:short)' | grep @); do git branch -D $p; done

				
			

āĻāĻ–āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ—ā§āĻ˛āĻŋ āĻ†āĻ¸āĻ˛ āĻ—āĻŋāĻŸ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŸā§āĻ¯āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻ†āĻ¸āĻ˛ āĻ—āĻŋāĻŸ āĻŸā§āĻ¯āĻžāĻ—āĨ¤

āĻ•ā§āĻ˛āĻŋāĻ¨āĻ†āĻĒ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻˇ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ†āĻ›ā§‡āĨ¤ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤,āĻ—āĻŋāĻŸ āĻāĻ¸āĻ­āĻŋāĻāĻ¨ āĻŸā§āĻ°āĻžāĻ‚āĻ• āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŸā§āĻ°āĻžāĻ‚āĻ• āĻ°ā§‡āĻĢ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ—āĻŋāĻŸ āĻ°ā§€āĻ¤āĻŋāĻ¸āĻŋāĻĻā§āĻ§, āĻ¤āĻžāĻ‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ°āĻžāĻžā§āĻšāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻāĻ–āĻžāĻ¨ā§‡:

				
					$ git branch -d trunk
				
			

āĻļā§‡āĻˇ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻšāĻ˛ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ—āĻŋāĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ°āĻŋāĻŽā§‹āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ āĻĒā§āĻļ  āĻĻāĻŋāĻ¨āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻŽā§‹āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻƒ

				
					$ git remote add origin git@my-git-server:myrepository.git
				
			
āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ–āĻ¨ āĻāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:
				
					$ git push origin --all
$ git push origin --tags
				
			

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ°āĻžāĻžā§āĻšÂ  āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ— āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ°, āĻ•ā§āĻ˛āĻŋāĻ¨ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻĻāĻŋā§Ÿā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ—āĻŋāĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ°āĻžāĻ–āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛

āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻāĻŦāĻ‚ āĻ—āĻŋāĻŸ āĻāĻ° āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ā§‡ āĻŽā§āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻāĻ•āĻ‡ āĻ°āĻ•āĻŽ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ—āĻŋāĻŸ āĻāĻ•āĻŸā§ āĻŦā§‡āĻļāĻŋ āĻ¸āĻšāĻœāĨ¤ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ—āĻŋāĻŸ āĻ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ•ā§‡ “hg-fast-export” āĻŸā§āĻ˛āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŽā§āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ¸āĻšāĻœā§‡ āĻ•āĻ¨āĻ­āĻžāĻ°ā§āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤Â 

 

āĻāĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ā§‡ “hg-fast-export” āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻĒāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻšāĻŦā§‡āĨ¤

				
					$ git clone https://github.com/frej/fast-export.git


				
			

āĻĒā§āĻ°āĻĨāĻŽ āĻ§āĻžāĻĒā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻ¯ā§‡āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¨āĻ­āĻžāĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨āĻƒ

				
					$ hg clone <remote repo URL> /tmp/hg-repo


				
			

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ…āĻĨāĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĨ¤ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ—āĻŋāĻŸ – āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻŦā§‡āĻļāĻŋ āĻ•ā§āĻˇāĻŽāĻžāĻļā§€āĻ˛, āĻ•āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¤āĻž āĻ…āĻĨāĻ° āĻĢāĻŋāĻ˛ā§āĻĄ āĻ āĻ°āĻžāĻ–āĻž āĻšāĻŦā§‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻ•ā§āĻ˛āĻŋāĻ¨ āĻšāĻžāĻ‰āĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻāĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻļ āĻ¸ā§‡āĻ˛ āĻ āĻāĻ‡ āĻāĻ• āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĨ¤

				
					$ cd /tmp/hg-repo
$ hg log | grep user: | sort | uniq | sed 's/user: *//' > ../authors
				
			

āĻāĻŸāĻŋ āĻ•ā§Ÿā§‡āĻ• āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽā§Ÿ āĻ¨āĻŋāĻŦā§‡, āĻāĻŸāĻž āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻšāĻŋāĻ¸ā§āĻŸāĻ°āĻŋāĻ° āĻ‰āĻĒāĻ°āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡Â  /tmp/authors āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻžāĻŦā§‡āĻƒ

				
					bob
bob@localhost
bob <bob@company.com>
bob jones <bob <AT> company <DOT> com>
Bob Jones <bob@company.com>
Joe Smith <joe@company.com>
				
			

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻ•āĻ‡Â  āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ (Bob) āĻšāĻžāĻ°āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻžāĻŽā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻ¸āĻ āĻŋāĻ• āĻĻā§‡āĻ–āĻžāĻšā§āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻ•āĻŽāĻŋāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ‡āĻ¨āĻ­ā§āĻ¯āĻžāĻ˛āĻŋāĻĄ āĻšāĻŦā§‡āĨ¤ hg-fast-export āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§āĻ˛ āĻ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ: “<input>”=”<output>”, āĻāĻ•āĻŸāĻŋ <input> āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ <output> āĻ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻ•āĻ°ā§‡āĨ¤ <input> āĻāĻŦāĻ‚ <output> āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¸āĻ•āĻ˛ escape sequences āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻāĻ¨āĻ•ā§‹āĻĄāĻŋāĻ‚ string_escape āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ…āĻĨāĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ•ā§‹āĻ¨ <input> āĻŽāĻŋāĻ˛ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ āĻ…āĻĨāĻ° āĻ—āĻŋāĻŸā§‡ āĻ†āĻ¨āĻŽāĻĄāĻŋāĻĢāĻžāĻ‡āĻĄ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ¸āĻ•āĻ˛ āĻ‡āĻ‰āĻœāĻžāĻ°āĻ¨ā§‡āĻ‡āĻŽ āĻ āĻŋāĻ• āĻĻā§‡āĻ–āĻžā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ° āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡:

				
					"bob"="Bob Jones <bob@company.com>"
"bob@localhost"="Bob Jones <bob@company.com>"
"bob <bob@company.com>"="Bob Jones <bob@company.com>"
"bob jones <bob <AT> company <DOT> com>"="Bob Jones <bob@company.com>"
				
			

āĻāĻ•āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻĢāĻžāĻ‡āĻ˛ āĻāĻ° āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻĻāĻŋ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻžāĻŽāĻŸāĻŋ āĻ—āĻŋāĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻ¨āĻž āĻšā§ŸāĨ¤

 

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻ•ā§āĻ¸āĻĒā§‹āĻ°ā§āĻŸ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹:

				
					$ git init /tmp/converted
$ cd /tmp/converted
$ /tmp/fast-export/hg-fast-export.sh -r /tmp/hg-repo -A /tmp/authors
				
			

-r āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ—āĻŸāĻŋ hg-fast-export āĻ•ā§‡ āĻŦāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻŸāĻŋ āĻ•āĻ¨āĻ­āĻžāĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¸ā§‡āĻŸāĻž āĻ•ā§‹āĻĨāĻžā§Ÿ āĻ–ā§āĻœāĻŦ, āĻāĻŦāĻ‚ -A āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ—āĻŸāĻŋ āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻ…āĻĨāĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ (āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ— āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡ -B āĻāĻŦāĻ‚ -T āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ— āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ)āĨ¤ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻšā§‡āĻ‡āĻžā§āĻœāĻ¸ā§‡āĻŸ āĻ•ā§‡ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ—āĻŋāĻŸ-āĻāĻ° “fast-import” āĻĢāĻŋāĻšāĻžāĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ•āĻ¨āĻ­āĻžāĻ°ā§āĻŸ āĻ•āĻ°ā§‡ (āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸā§ āĻĒāĻ°ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ)āĨ¤ āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ (āĻ¯āĻĻāĻŋāĻ“ āĻāĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ…āĻ¨ā§‡āĻ• āĻĻā§āĻ°ā§āĻ¤), āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŸāĻŋ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻāĻ°āĻ•āĻŽ:

				
					$ /tmp/fast-export/hg-fast-export.sh -r /tmp/hg-repo -A /tmp/authors
Loaded 4 authors
master: Exporting full revision 1/22208 with 13/0/0 added/changed/removed files
master: Exporting simple delta revision 2/22208 with 1/1/0 added/changed/removed files
master: Exporting simple delta revision 3/22208 with 0/1/0 added/changed/removed files
[...]
master: Exporting simple delta revision 22206/22208 with 0/4/0 added/changed/removed files
master: Exporting simple delta revision 22207/22208 with 0/2/0 added/changed/removed files
master: Exporting thorough delta revision 22208/22208 with 3/213/0 added/changed/removed files
Exporting tag [0.4c] at [hg r9] [git :10]
Exporting tag [0.4d] at [hg r16] [git :17]
[...]
Exporting tag [3.1-rc] at [hg r21926] [git :21927]
Exporting tag [3.1] at [hg r21973] [git :21974]
Issued 22315 commands
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects:     120000
Total objects:       115032 (    208171 duplicates                  )
      blobs  :        40504 (    205320 duplicates      26117 deltas of      39602 attempts)
      trees  :        52320 (      2851 duplicates      47467 deltas of      47599 attempts)
      commits:        22208 (         0 duplicates          0 deltas of          0 attempts)
      tags   :            0 (         0 duplicates          0 deltas of          0 attempts)
Total branches:         109 (         2 loads     )
      marks:        1048576 (     22208 unique    )
      atoms:           1952
Memory total:          7860 KiB
       pools:          2235 KiB
     objects:          5625 KiB
---------------------------------------------------------------------
pack_report: getpagesize()            =       4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit      = 8589934592
pack_report: pack_used_ctr            =      90430
pack_report: pack_mmap_calls          =      46771
pack_report: pack_open_windows        =          1 /          1
pack_report: pack_mapped              =  340852700 /  340852700
---------------------------------------------------------------------

$ git shortlog -sn
   369  Bob Jones
   365  Joe Smith


				
			

āĻāĻŸāĻžā§Ÿ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ†āĻ›ā§‡āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻŸā§āĻ¯āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻ—āĻŋāĻŸ āĻŸā§āĻ¯āĻžāĻ—ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻŦāĻ‚ āĻŦā§āĻ•āĻŽāĻžāĻ°ā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻ—āĻŋāĻŸ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ āĻ•āĻ¨āĻ­āĻžāĻ°ā§āĻŸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻŸāĻŋ āĻ•ā§‡ āĻ¤āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°-āĻ¸āĻžāĻ‡āĻĄ āĻ āĻĒā§āĻļ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤:

				
					$ git remote add origin git@my-git-server:myrepository.git
$ git push origin --all
				
			
āĻŦā§āĻ¯āĻžāĻœāĻžāĻ°

āĻŦā§āĻ¯āĻžāĻœāĻžāĻ° āĻšāĻ˛ āĻ…āĻ¨ā§‡āĻ•āĻŸāĻž āĻ—āĻŋāĻŸ-āĻāĻ° āĻŽāĻ¤āĻ‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻŋāĻ¸āĻŋāĻāĻ¸ (āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻĄ āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ) āĻŸā§āĻ˛, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻ•ā§‡ āĻ–ā§āĻŦ āĻ¸āĻšāĻœā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻœāĻžāĻ° āĻ—āĻŋāĻŸ-āĻ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° bzr-fastimport āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

 

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž bzr-fastimport āĻĒā§āĻ˛āĻžāĻ—āĻŋāĻ¨ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‹

bzr-fastimport āĻĒā§āĻ˛āĻžāĻ—āĻŋāĻ¨ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¯ā§‡āĻŽāĻ¨āĻƒ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻšāĻ˛ bzr-fastimport āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻŋāĻĒā§‡āĻĄā§‡āĻ¨ā§āĻ¸āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŦā§‡āĨ¤

 

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, Debian āĻāĻŦāĻ‚ Derived āĻĻāĻŋā§Ÿā§‡ : 

				
					$ sudo apt-get install bzr-fastimport
				
			

RHEL āĻĻāĻŋā§Ÿā§‡ :

				
					$ sudo yum install bzr-fastimport
				
			

āĻĢā§‡āĻĄā§‹āĻ°āĻž, 22 āĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻšāĻ˛ dnf:

				
					$ sudo dnf install bzr-fastimport
				
			

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ—ā§āĻ˛ā§‹ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛Â  āĻ¨āĻž āĻšāĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

				
					$ mkdir --parents ~/.bazaar/plugins     # creates the necessary folders for the plugins
$ cd ~/.bazaar/plugins
$ bzr branch lp:bzr-fastimport fastimport   # imports the fastimport plugin
$ cd fastimport
$ sudo python setup.py install --record=files.txt   # installs the plugin
				
			

āĻāĻ‡ āĻĒā§āĻ˛āĻžāĻ—āĻ‡āĻ¨āĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ¸ā§āĻŸ āĻ‡āĻŽāĻĒā§‹āĻ°ā§āĻŸ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ°āĻ“ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨

				
					$ python -c "import fastimport"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named fastimport
$ pip install fastimport
				
			
āĻ¯āĻĻāĻŋ āĻāĻŸāĻž āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ :  https://pypi.python.org/pypi/fastimport/ āĻāĻ–ā§āĻ¨ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻŦā§‹ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻœāĻžāĻ° āĻ°āĻŋāĻĒā§‹ āĻ‡āĻŽāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ : 
āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ™ā§āĻ—ā§‡āĻ˛ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ: 
āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻžāĻœāĻžāĻ° āĻ°āĻŋāĻĒā§‹ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŽāĻ¨ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻšā§‡āĻ‡āĻžā§āĻœ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ—āĻŋāĻŸ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨:
				
					$ cd /path/to/the/bzr/repository
$ git init
				
			

āĻāĻ–āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻžāĻœāĻžāĻ° āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻāĻ•ā§āĻ¸āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

				
					$ bzr fast-export --plain . | git fast-import
				
			

āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§āĻŖ āĻšāĻ¤ā§‡ āĻāĻ•āĻŸā§ āĻ¸āĻŽā§Ÿ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŸāĻž āĻĒā§āĻ°ā§‹āĻœā§‡āĻ•ā§āĻŸ āĻ¸āĻžāĻ‡āĻœā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĨ¤

 

āĻ•ā§‡āĻ‡āĻ¸ āĻ…āĻĢ āĻ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ‰āĻ‡āĻĨ āĻ āĻŽā§‡āĻ‡āĻ¨ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻ¨ā§āĻĄ āĻ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻŦā§āĻ°āĻžāĻžā§āĻš:

āĻ§āĻ°ā§āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻā§āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻ› āĻ†āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻ˛ āĻŽā§‡āĻ‡āĻ¨ āĻŦā§āĻ°āĻžāĻžā§āĻš (myProject.trunk) āĻāĻŦāĻ‚ āĻ†āĻ° āĻāĻ•āĻŸāĻŋ āĻšāĻ˛ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻŦā§āĻ°āĻžāĻžā§āĻš (myProject.work) āĻ¯ā§‡āĻŸāĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĻ¨

				
					$ ls
myProject.trunk myProject.work
				
			

āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻšā§‡āĻ‡āĻžā§āĻœ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨:

				
					$ git init git-repo
$ cd git-repo
				
			

āĻ—āĻŋāĻŸā§‡ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŦā§āĻ°āĻžāĻžā§āĻš āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ˛ āĻ¨āĻŋāĻ¨:

				
					$ bzr fast-export --export-marks=../marks.bzr ../myProject.trunk | \
git fast-import --export-marks=../marks.git


				
			
āĻ—āĻŋāĻŸā§‡ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ˛ āĻ¨āĻŋāĻ¨:
				
					$ bzr fast-export --marks=../marks.bzr --git-branch=work ../myProject.work | \
git fast-import --import-marks=../marks.git --export-marks=../marks.git
				
			

āĻāĻ–ā§āĻ¨ git branch āĻ˛āĻŋāĻ–āĻ˛ā§‡āĻ‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻĻā§‡āĻ–āĻžāĻšā§āĻ›ā§‡Â 

marks.bzr āĻāĻŦāĻ‚ marks.git

 
āĻ¸ā§āĻŸā§‡āĻœāĻŋāĻ‚ āĻāĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž:

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻ¤āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¤āĻž āĻ¯āĻžāĻ‡ āĻšā§‹āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŸā§‡āĻœāĻŋāĻ‚ āĻāĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻšā§‡āĻĄ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ‚ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻšā§‡āĻ° āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻāĻ° āĻ¸āĻžāĻĨā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋāĻ“ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

				
					$ git reset --hard HEAD
				
			
.bzrignor āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‡āĻ—āĻ¨ā§‹āĻ° āĻ•āĻ°ā§āĻ¨:

āĻāĻ–āĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ˛āĻ•ā§āĻˇ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§‡ .bzrignore āĻāĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ .gitignore āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋ .bzrignore āĻĢāĻžāĻ‡āĻ˛ā§‡ “!!” āĻ…āĻĨāĻŦāĻž “RE:” āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ“āĻ¯āĻŧāĻž āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ˛āĻžāĻ‡āĻ¨ āĻĨāĻžāĻ•ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻœāĻžāĻ° āĻ‡āĻ—āĻ¨ā§‹āĻ° āĻ•āĻ°āĻž āĨ¤ āĻ āĻŋāĻ• āĻāĻ•āĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‡āĻ—āĻ¨ā§‹āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ .gitignore āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ā§ˇ

 

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯

				
					$ git mv .bzrignore .gitignore
$ # modify .gitignore if needed
$ git commit -am 'Migration from Bazaar to Git'


				
			
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ•ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒā§āĻļ āĻ•āĻ°ā§‡āĻ¨āĨ¤Â Â 
				
					$ git remote add origin git@my-git-server:mygitrepository.git
$ git push origin --all
$ git push origin --tags


				
			
āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸

āĻĒāĻ°ā§‡āĻ° āĻ¯ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¤āĻž āĻšāĻ˛ āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸āĨ¤ āĻ‰āĻĒāĻ°ā§‹āĻ•ā§āĻ¤ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇā§‡ āĻ—āĻŋāĻŸ āĻ†āĻ° āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻāĻ° āĻĻā§āĻ‡āĻŸāĻž āĻ‰āĻĒāĻžā§Ÿ āĻ†āĻ›ā§‡ :

āĻ—āĻŋāĻŸ-p4 āĻ†āĻ° āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻ—āĻŋāĻŸ āĻĢāĻŋāĻ‰āĻļāĻ¨Â 

 

āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻ—āĻŋāĻŸ āĻĢāĻŋāĻ‰āĻļāĻ¨: 

āĻ—āĻŋāĻŸ āĻĢāĻŋāĻ‰āĻļāĻ¨ āĻāĻ‡ āĻ•āĻžāĻœāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ•āĻžāĻ‚āĻļā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸, āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ—ā§āĻ˛āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ (āĻ—āĻŋāĻŸ āĻĢāĻŋāĻ‰āĻļāĻ¨ āĻ āĻŦāĻ˛āĻž āĻšā§Ÿā§‡āĻ›ā§‡) āĻāĻ° āĻ¸āĻžāĻĨā§‡āĨ¤ āĻāĻ°āĻĒāĻ° āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻŸāĻž āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ—āĻŋāĻŸ āĻĢāĻŋāĻ‰āĻļāĻ¨ āĻāĻ•āĻŸāĻž āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻĻā§‡ā§Ÿ āĻ¯ā§‡āĻŸāĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻāĻ•āĻŸāĻž āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻ—āĻŋāĻŸ āĻšā§‹āĻ¸ā§āĻŸ āĻ āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡āĻ˛ā§‡ āĻĒā§āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻ•ā§‡āĻ“ āĻ—āĻŋāĻŸ āĻšā§‹āĻ¸ā§āĻŸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

 

āĻ—āĻŋāĻŸ-p4: 

āĻ—āĻŋāĻŸ-p4 āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻŸā§āĻ˛ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡āĻ“ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĄāĻŋāĻĒā§‹āĻŸ āĻĨā§‡āĻ•ā§‡ āĻœā§āĻ¯āĻžāĻŽ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻŦāĨ¤ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡, āĻ…āĻŦāĻļā§āĻ¯āĻ‡ P4PORT āĻāĻ¨āĻ­āĻžā§ŸāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§āĻ¯āĻžāĻ°āĻŋā§Ÿā§‡āĻŦāĻ˛ āĻāĻ•ā§āĻ¸āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡āĻŸāĻž āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻĄāĻŋāĻĒā§‹āĻŸ āĻ•ā§‡ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĨ¤Â 

				
					$ export P4PORT=public.perforce.com:1666
				
			

āĻ¨ā§‹āĻŸ

āĻĢāĻ˛ā§‹ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻĄāĻŋāĻĒā§‹āĻŸ āĻ˛āĻžāĻ—āĻŦā§‡ āĻ•āĻžāĻ¨ā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ†āĻŽāĻ°āĻž public.perforce.com āĻ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻĄāĻŋāĻĒā§‹āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻĄāĻŋāĻĒā§‹āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡āĻŸāĻžā§Ÿ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ†āĻ›ā§‡āĨ¤

āĻœā§āĻ¯āĻžāĻŽ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ•ā§‡ āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ server āĻĨā§‡āĻ•ā§‡ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ git p4 clone āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ†āĻ° āĻāĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĒā§‹āĻŸ, āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻĒāĻžāĻĨ āĻ†āĻ° āĻ¯ā§‡ āĻĒāĻžāĻĨ – āĻ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻŸāĻž āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻž āĻ¸āĻžāĻĒā§āĻ˛āĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

				
					$ git-p4 clone //guest/perforce_software/jam@all p4import
Importing from //guest/perforce_software/jam@all into p4import
Initialized empty Git repository in /private/tmp/p4import/.git/
Import destination: refs/remotes/p4/master
Importing revision 9957 (100%)


				
			

āĻāĻ‡ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻ…āĻ¨ā§‡āĻ• āĻŦā§āĻ°āĻžāĻžā§āĻš āĻĨāĻžāĻ•ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻž āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ­āĻŋāĻ‰āĻ¸ (āĻ…āĻĨāĻŦāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¸ā§‡āĻŸ) āĻĻāĻŋā§Ÿā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡, āĻ†āĻĒāĻ¨āĻŋ –detect-branches flag āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ git p4 clone  āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻāĻ° āĻ¸āĻŦ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ—ā§āĻ˛āĻž āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻ āĻ­āĻžāĻŦā§‡ āĻœāĻžāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§‡āĻ–ā§āĻ¨Â 

āĻŦā§āĻ°āĻžāĻžā§āĻ›āĻŋāĻ‚ 

 

āĻāĻ‡ āĻĒāĻ°ā§āĻ¯āĻžā§Ÿā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻĒā§āĻ°āĻžā§Ÿ āĻļā§‡āĻˇāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ p4import  āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§‡ āĻ¯āĻžāĻ¨ āĻ†āĻ° āĻ°āĻžāĻ¨ āĻ•āĻ°ā§‡āĻ¨ git log, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻž āĻ•āĻžāĻœāĻŸāĻŋ āĻĻā§‡āĻ–āĻŦā§‡āĻ¨ :

				
					$ git log -2
commit e5da1c909e5db3036475419f6379f2c73710c4e6
Author: giles <giles@giles@perforce.com>
Date:   Wed Feb 8 03:13:27 2012 -0800

    Correction to line 355; change </UL> to </OL>.

    [git-p4: depot-paths = "//public/jam/src/": change = 8068]

commit aa21359a0a135dda85c50a7f7cf249e4f7b8fd98
Author: kwirth <kwirth@perforce.com>
Date:   Tue Jul 7 01:35:51 2009 -0800

    Fix spelling error on Jam doc page (cummulative -> cumulative).

    [git-p4: depot-paths = "//public/jam/src/": change = 7304]


				
			

āĻ†āĻĒāĻ¨āĻŋ āĻ–ā§‡ā§ŸāĻžāĻ˛ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¯ā§‡, āĻ—āĻŋāĻŸ-p4  āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻž āĻ•āĻŽāĻŋāĻŸ āĻŽā§‡āĻ¸ā§‡āĻœ āĻ āĻāĻ•āĻŸāĻž āĻ†āĻ‡āĻĄā§‡āĻ¨ā§āĻŸāĻŋāĻĢāĻžā§ŸāĻžāĻ° āĻ°ā§‡āĻ–ā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ†āĻ‡āĻĄā§‡āĻ¨ā§āĻŸāĻŋāĻĢāĻžā§ŸāĻžāĻ° āĻŸāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻ¯āĻžāĻŦā§‡, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ°āĻĢā§‹āĻ°ā§āĻ¸ āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻ°āĻž āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻšāĻ˛ā§‡ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻ‡āĻĄā§‡āĻ¨ā§āĻŸāĻŋāĻĢāĻžā§ŸāĻžāĻ° āĻŸāĻŋ āĻŦāĻĻāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨, āĻāĻ–āĻ¨āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ – āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ¤ā§‡ āĻ•āĻžāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ  git filter-branch āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ‡āĻĄā§‡āĻ¨ā§āĻŸāĻŋāĻĢāĻžā§ŸāĻžāĻ° āĻāĻ¨ āĻŽā§‡āĻ¸ āĻ¸āĻ°āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĻƒÂ 



				
					$ git filter-branch --msg-filter 'sed -e "/^\[git-p4:/d"'
Rewrite e5da1c909e5db3036475419f6379f2c73710c4e6 (125/125)
Ref 'refs/heads/master' was rewritten
				
			

āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ  git log run āĻ•āĻ°ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ•āĻŽāĻŋāĻŸ āĻ—ā§āĻ˛āĻžāĻ° āĻ¸āĻŦ SHA-1 āĻšā§‡āĻ•āĻ¸āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšā§Ÿā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ—āĻŋāĻŸ-p4 āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ—ā§āĻ˛āĻž āĻ•āĻŽāĻŋāĻŸ āĻŽā§‡āĻ¸ā§‡āĻœ āĻ āĻ†āĻ° āĻ¨ā§‡āĻ‡ :

				
					$ git log -2
commit b17341801ed838d97f7800a54a6f9b95750839b7
Author: giles <giles@giles@perforce.com>
Date:   Wed Feb 8 03:13:27 2012 -0800

    Correction to line 355; change </UL> to </OL>.

commit 3e68c2e26cd89cb983eb52c024ecdfba1d6b3fff
Author: kwirth <kwirth@perforce.com>
Date:   Tue Jul 7 01:35:51 2009 -0800

    Fix spelling error on Jam doc page (cummulative -> cumulative).
				
			

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ—āĻŋāĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒā§āĻļ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻĄāĻŋāĨ¤

 

āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ°:

āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹āĻŸāĻŋāĻ‡ āĻ¨āĻž āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¸ā§‡āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ° āĻ–ā§āĻāĻœāĻ¤ā§‡ āĻšāĻŦā§‡- āĻāĻ§āĻ°āĻ¨ā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ° āĻ†āĻ›ā§‡ āĻ¯āĻž āĻ¸āĻšāĻœāĻ˛āĻ­ā§āĻ¯ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻž āĻĒāĻžāĻ°ā§āĻĢā§‡āĻ•ā§āĻŸ, āĻāĻ¸āĻŦ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¸āĻŋāĻ­āĻŋāĻāĻ¸, āĻ•ā§āĻ˛āĻŋā§ŸāĻžāĻ° āĻ•ā§‡āĻ‡āĻ¸, āĻ­āĻŋāĻœā§ā§ŸāĻžāĻ˛ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¸ā§‡āĻĢ, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ†āĻ°ā§āĻ•āĻžāĻ‡āĻ­ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ¸āĻŦ āĻŸā§āĻ˛ āĻŦāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹āĻŸāĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻž āĻĨā§‡āĻ•ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻāĻœāĻ¨ā§āĻ¯ āĻ‡āĻ‰āĻœ āĻ•āĻ°ā§āĻ¨Â 

				
					git fast-import 
				
			

 

āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ• āĻ—āĻŋāĻŸ āĻĄāĻžāĻŸāĻž āĻ°āĻžāĻ‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ stdin āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŋāĻŽā§āĻĒāĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻļāĻ¨āĻ¸ āĻ°āĻŋāĻĄ āĻ•āĻ°ā§‡āĨ¤ āĻ°-āĻ—āĻŋāĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ¸ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻžāĻ¨ā§‹āĻ° āĻšā§‡ā§Ÿā§‡ āĻ•āĻŋāĻ‚āĻŦāĻž āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ°āĻžāĻ‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻšā§‡ā§Ÿā§‡ āĻāĻ‡ āĻ‰āĻĒāĻžā§Ÿā§‡ āĻ—āĻŋāĻŸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ•ā§āĻ°āĻŋā§Ÿā§‡āĻŸ āĻ•āĻ°āĻž āĻŦā§‡āĻļāĻŋ āĻ¸āĻšāĻœāĨ¤(āĻ†āĻ°ā§‹ āĻ¤āĻĨā§āĻ¯ āĻĒā§‡āĻ¤ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻ—āĻŋāĻŸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨āĻžāĻ˛āĻ¸)āĨ¤ āĻāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻŋāĻ–ā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (āĻ¯āĻž āĻĨā§‡āĻ•ā§‡ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡) āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ā§€ā§Ÿ āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻ°āĻŋāĻĄ āĻ•āĻ°ā§‡ āĻ†āĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ stdout āĻ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ°āĻžāĻ•āĻļāĻ¨ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĻŸāĻŋ  git fast-import āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ° āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤

 

āĻ¸āĻšāĻœā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽā§āĻĒāĻ˛ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ° āĻ˛āĻŋāĻ–āĻŦā§‡āĻ¨āĨ¤ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ time-stamped back_YYYY_MM_DD āĻŦā§āĻ¯āĻžāĻ•āĻžāĻĒ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻžāĻ•āĻžāĻĒ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ°āĻžāĻ–ā§‡āĻ¨, āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻšā§āĻ›ā§‡āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻ•ā§‡ āĻ—āĻŋāĻŸ āĻ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ†āĻ° āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¨āĻŋāĻšā§‡āĻ° āĻŽāĻ¤āĻƒ

				
					$ ls /opt/import_from
back_2014_01_02
back_2014_01_04
back_2014_01_14
back_2014_02_03
current
				
			

āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ†āĻ—ā§‡ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ—āĻŋāĻŸ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ° āĻĄāĻžāĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§‡ āĻ†āĻ›ā§‡ āĻ¯ā§‡, āĻ—āĻŋāĻŸ āĻŽā§‚āĻ˛āĻ¤ āĻ•āĻŽāĻŋāĻŸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ (āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ°ā§‡āĻ¸āĻĒāĻ¨ā§āĻ¸ā§‡āĻ° āĻ•āĻĒāĻŋ) āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻšāĻ˛ā§‹ fast-import āĻ•ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ—ā§āĻ˛ā§‹ āĻŦāĻ˛ā§‡ āĻĻā§‡ā§ŸāĻž, āĻ•ā§‹āĻ¨ āĻ•āĻŽāĻŋāĻŸ āĻĄāĻžāĻŸāĻž āĻ¤āĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻ¤āĻžāĻ°āĻž āĻ•āĻŋ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻŽā§‡āĻ‡āĻ¨āĻŸā§‡āĻ‡āĻ¨ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŸā§āĻ°āĻžāĻŸā§‡āĻœāĻŋ āĻšāĻŦā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻŽāĻŋāĻŸ āĻ•ā§āĻ°āĻŋā§Ÿā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ¤āĻžāĻ° āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ•āĻŽāĻŋāĻŸ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻĨāĻžāĻ•ā§‡āĨ¤Â 

āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ-āĻāĻ¨āĻĢā§‹āĻ°ā§āĻ¸āĻĄ āĻĒāĻ˛āĻŋāĻ¸āĻŋāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, āĻ†āĻŽāĻ°āĻž āĻ¤āĻž āĻ°ā§āĻŦā§€ āĻ¤ā§‡ āĻ˛āĻŋāĻ–āĻŦā§‹, āĻ•āĻžāĻ°āĻŖ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ†āĻŽāĻ°āĻž āĻ°ā§āĻŦā§€ āĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¸āĻšāĻœāĻŦā§‹āĻ§ā§āĻ¯āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ˛ā§āĻ¯āĻžāĻ‚āĻ—ā§ā§Ÿā§‡āĻœā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ° āĻļā§āĻ§ā§ āĻ¸āĻ āĻŋāĻ• āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻ—ā§āĻ˛ā§‹ stdout. āĻ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻ° āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ āĻ°āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ• āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻ•ā§āĻ¯āĻžāĻ°āĻŋā§Ÿā§‡āĻœ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡, āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡Â  git fast-import āĻ–ā§āĻŦāĻ‡ āĻšā§‡āĻ˛ā§āĻĒāĻĢā§āĻ˛ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ˛āĻžāĻ‡āĻ¨ āĻĢāĻŋāĻĄāĻ¸ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡, āĻ•ā§āĻ¯āĻžāĻ°āĻŋā§Ÿā§‡āĻœ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ˛āĻžāĻ‡āĻ¨ āĻĢāĻŋāĻĄāĻ¸ (CRLF) āĻ āĻŦāĻžāĻ§āĻž āĻĻā§‡ā§Ÿ āĻ¯āĻž āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻ‡āĻ‰āĻœ āĻ•āĻ°ā§‡āĨ¤

 

āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ†āĻ‡āĻĄā§‡āĻ¨ā§āĻŸāĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°āĻŦā§‡āĻ¨,āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ‡ āĻšāĻ˛ā§‹ āĻ¸ā§‡āĻ‡ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŽāĻŋāĻŸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§‡ āĻšā§‡āĻžā§āĻœ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻž āĻāĻ•ā§āĻ¸āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ā§€ā§Ÿ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ—ā§āĻ˛ā§‹ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻžāĻ¸āĻŋāĻ• āĻŽā§‡āĻ‡āĻ¨ āĻ˛ā§āĻĒāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ°āĻ•āĻŽ āĻšāĻŦā§‡āĻƒÂ 

				
					last_mark = nil

# loop through the directories
Dir.chdir(ARGV[0]) do
  Dir.glob("*").each do |dir|
    next if File.file?(dir)

    # move into the target directory
    Dir.chdir(dir) do
      last_mark = print_export(dir, last_mark)
    end
  end
end
				
			

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§‡ print_export āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ›ā§‡āĻ¨,āĻ¯āĻž āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻāĻŦāĻ‚ āĻŽāĻžāĻ°ā§āĻ• āĻ¨āĻŋā§Ÿā§‡ āĻ¨ā§‡ā§Ÿ āĻāĻŦāĻ‚ āĻ¤āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ‚āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻšā§ŸāĨ¤ āĻŽāĻžāĻ°ā§āĻ• āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻ‡āĻĄā§‡āĻ¨ā§āĻŸāĻŋāĻĢāĻžā§ŸāĻžāĻ°ā§‡āĻ°Â  fast-import āĻŸāĻžāĻ°ā§āĻŽ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ•ā§āĻ°āĻŋā§Ÿā§‡āĻŸ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡āĻ‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšā§ŸāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻ°ā§‡ āĻŽāĻžāĻ°ā§āĻ• āĻĻā§‡ā§ŸāĻž āĻšā§Ÿ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŽāĻŋāĻŸ āĻ—ā§āĻ˛ā§‹āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ•āĻŽāĻŋāĻŸ āĻ•ā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡ print_export āĻŽā§‡āĻĨāĻĄ āĻ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¨āĻžāĻŽ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ°ā§āĻ• āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤Â 

				
					mark = convert_dir_to_mark(dir)
				
			

āĻāĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ—ā§āĻ˛ā§‹ āĻ¨āĻŋā§Ÿā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻŦāĻžāĻ¨āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻ­ā§āĻ¯āĻžāĻ˛ā§āĻ•ā§‡ āĻŽāĻžāĻ°ā§āĻ• āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻžāĻ°āĻŖ āĻŽāĻžāĻ°ā§āĻ• āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻŋāĻœāĻžāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽā§‡āĻĨāĻĄāĻŸāĻŋ āĻšāĻŦā§‡ āĻ āĻŋāĻ• āĻāĻ°āĻ•āĻŽāĻƒ

				
					$marks = []
def convert_dir_to_mark(dir)
  if !$marks.include?(dir)
    $marks << dir
  end
  ($marks.index(dir) + 1).to_s
end
				
			

āĻāĻ–āĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻŽāĻŋāĻŸ āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻŋāĻœāĻžāĻ° āĻ°āĻŋāĻĒā§āĻ°ā§‡āĻœā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ†āĻ›ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻŽāĻŋāĻŸ āĻāĻ° āĻŽā§‡āĻŸāĻžāĻĄāĻžāĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡āĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨āĨ¤ āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻŋāĻ–āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻžāĻŸāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽā§Ÿ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° print_export āĻĢāĻžāĻ‡āĻ˛ āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻšāĻŦā§‡āĻƒ

				
					date = convert_dir_to_date(dir)
				
			

āĻšāĻ˛ā§āĻ¨ āĻĻā§‡āĻ–āĻŋ  convert_dir_to_date āĻ āĻ•āĻŋ āĻ†āĻ›ā§‡āĻƒ

				
					def convert_dir_to_date(dir)
  if dir == 'current'
    return Time.now().to_i
  else
    dir = dir.gsub('back_', '')
    (year, month, day) = dir.split('_')
    return Time.local(year, month, day).to_i
  end
end
				
			

 

āĻāĻ‡Â  convert_dir_to_date āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻŋāĻœāĻžāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¯ā§‡ āĻŽā§‡āĻŸāĻž-āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¤āĻžāĻšāĻ˛ā§‹ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻ°ā§‡ āĻ•āĻŽāĻŋāĻŸāĻžāĻ° āĻĄāĻžāĻŸāĻž āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ­ā§āĻ¯āĻžāĻ°āĻŋā§Ÿā§‡āĻŦāĻ˛ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĄāĻŋāĻ•ā§āĻ˛ā§‡ā§ŸāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨āĻƒ

				
					$author = 'John Doe <john@example.com>'
				
			

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻŋāĻŸ āĻĄāĻžāĻŸāĻž āĻ—ā§āĻ˛ā§‹ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤Â  āĻ‡āĻ¨āĻŋāĻļāĻŋā§ŸāĻžāĻ˛ āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĄāĻŋāĻĢāĻžāĻ‡āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻŦā§āĻ°āĻžāĻžā§āĻšā§‡ āĻ†āĻ›ā§‡ (āĻ āĻ•āĻžāĻœāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻž āĻŽāĻžāĻ°ā§āĻ• āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡), āĻ•āĻŽāĻŋāĻŸāĻžāĻ° āĻāĻ° āĻ‡āĻ¨āĻĢāĻ°āĻŽā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŽāĻŋāĻŸ āĻ•āĻ°āĻž āĻŽā§āĻ¯āĻžāĻ¸ā§‡āĻœāĻŸāĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŦāĻļā§‡āĻˇā§‡ āĻ¯āĻĻāĻŋ āĻĒā§‚āĻ°ā§āĻŦā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻŽāĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¸ā§‡āĻŸāĻŋāĨ¤ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻāĻ°āĻ•āĻŽāĻƒ

				
					# print the import information
puts 'commit refs/heads/master'
puts 'mark :' + mark
puts "committer #{$author} #{date} -0700"
export_data('imported from ' + dir)
puts 'from :' + last_mark if last_mark
				
			

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžā§Ÿ āĻšāĻšā§āĻ›ā§‡ āĻŸāĻžāĻ‡āĻŽ āĻœā§‹āĻ¨ (-ā§Ļā§­ā§Ļā§Ļ) āĻ•ā§‡ āĻāĻ•āĻĻāĻŽ āĻšāĻžāĻ°ā§āĻĄāĻ•ā§‹āĻĄ āĻ•āĻ°ā§‡ āĻĻā§‡ā§ŸāĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŸāĻžāĻ‡āĻŽ āĻœā§‹āĻ¨ āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻĢāĻ¸ā§‡āĻŸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻ° āĻ•āĻŽāĻŋāĻŸ āĻŽā§āĻ¯āĻžāĻ¸ā§‡āĻœāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒā§‡āĻļāĻžāĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻŽā§‡āĻ‡āĻ¨āĻŸā§‡āĻ‡āĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤Â 

				
					data (size)\n(contents)
				
			

āĻāĻ‡ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻŸāĻŋ āĻ“ā§ŸāĻžāĻ°ā§āĻĄ āĻĄāĻžāĻŸāĻž ( āĻĄāĻžāĻŸāĻžāĻ° āĻ¸āĻžāĻ‡āĻœ, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ¨āĻžāĻ˛āĻŋ āĻĄāĻžāĻŸāĻž āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ) āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ•āĻžāĻ°āĻŖ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ‡ āĻ¸ā§‡āĻ‡āĻŽ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸāĻŸāĻŋāĻ‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻŽā§‡āĻĨāĻĄ āĻ•ā§āĻ°āĻŋā§Ÿā§‡āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤

export_data:

				
					def export_data(string)
    print "data #{string.size}\n#{string}"
end
				
			

āĻŦāĻžāĻ•āĻŋ āĻĨāĻžāĻ•āĻ˛ā§‹ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°ā§‡ āĻĻā§‡ā§ŸāĻžāĨ¤ āĻāĻŸāĻž āĻ–ā§āĻŦāĻ‡ āĻ¸āĻšāĻœ āĻ•āĻžāĻœ, āĻ•āĻžāĻ°āĻŖ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻāĻ‡āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§‡ āĻ†āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ‡āĻ˛ā§‡āĻ‡ deleteall āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ (āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡) āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ†āĻ‰āĻŸ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ°āĻĒāĻ° āĻĻā§‡āĻ–āĻŦā§‡āĻ¨ āĻ—āĻŋāĻŸ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ āĻŋāĻ•āĻŸāĻ āĻžāĻ•āĻ­āĻžāĻŦā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻ›ā§‡āĨ¤

				
					puts 'deleteall'
Dir.glob("**/*").each do |file|
  next if !File.file?(file)
  inline_data(file)
end
				
			

āĻ¨ā§‹āĻŸāĻƒ āĻ•āĻžāĻ°āĻŖ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ¨āĻ°āĻžā§Ÿ āĻ­āĻŋāĻœāĻŋāĻŸ āĻ•āĻ°āĻžāĻŸāĻžāĻ•ā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋāĻ° āĻšā§‡āĻžā§āĻœ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĨ¤ fast-import āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ āĻ•ā§‹āĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛ā§‹ āĻāĻĄ āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡, āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻ…āĻĨāĻŦāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨āĻ—ā§āĻ˛ā§‹ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻ¨āĻžāĻĒāĻļāĻŸ āĻ—ā§āĻ˛ā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ¯āĻžāĻ˛āĻ•ā§āĻ˛ā§‡āĻŸ āĻ•āĻ°ā§‡āĻ“ āĻāĻ‡ āĻĄāĻžāĻŸāĻžāĻ—ā§āĻ˛ā§‹ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻ¤ā§‡āĻ¨ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§‡āĻŸāĻž āĻ–ā§āĻŦāĻ‡ āĻ•āĻ āĻŋāĻ¨ āĻšāĻ¤ā§‹āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ—āĻŋāĻŸ āĻ āĻ¸āĻŦ āĻĄāĻžāĻŸāĻž āĻĻāĻŋā§Ÿā§‡ āĻ—āĻŋāĻŸ āĻāĻ° āĻ‰āĻĒāĻ°ā§‡āĻ“ āĻāĻ‡ āĻĻāĻžā§ŸāĻŋāĻ¤ā§āĻŦ āĻ›ā§‡ā§œā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ¸āĻŦ āĻĄāĻžāĻŸāĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤Â 

 

āĻ¯āĻĻāĻŋ āĻāĻŸāĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻžāĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻšā§Ÿ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻžāĻŸāĻž āĻāĻ‡ āĻ‰āĻĒāĻžā§Ÿā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°ā§‹āĻ­āĻžāĻ‡āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŸāĻžāĻ° āĻĄāĻŋāĻŸā§‡āĻ‡āĻ˛āĻ¸ āĻĻā§‡āĻ–āĻ¤ā§‡ fast-import āĻāĻ° āĻŽā§‡āĻ‡āĻ¨ āĻĒā§‡āĻ‡āĻœ āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨āĨ¤Â 

 

āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ˛āĻŋāĻ¸ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻĨāĻŦāĻž āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻ¸āĻŽā§āĻŦāĻ˛āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ•ā§‡ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸāĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡āĻƒ

				
					M 644 inline path/to/file
data (size)
(file contents)
				
			

āĻāĻ–āĻžāĻ¨ā§‡ ā§Ŧā§Ēā§Ē āĻšāĻšā§āĻ›ā§‡ āĻŽā§‹āĻĄ (āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻĨāĻžāĻ•ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§‡āĻŸāĻž āĻĄāĻŋāĻŸā§‡āĻ•ā§āĻŸ āĻ•āĻ°ā§‡ ā§Ŧā§Ēā§Ē āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ ā§­ā§Ģā§ĢāĻ•ā§‡ āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡) āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻĻāĻŋā§Ÿā§‡ āĻŦā§āĻāĻžā§Ÿ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻĒāĻ°āĻĒāĻ° āĻ‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻ—ā§āĻ˛ā§‹āĻ° āĻ˛āĻŋāĻ¸ā§āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ°Â  inline_data āĻŽā§‡āĻĨāĻĄāĻŸāĻŋ āĻšāĻŦā§‡ āĻāĻ°āĻ•āĻŽāĻƒ

				
					def inline_data(file, code = 'M', mode = '644')
  content = File.read(file)
  puts "#{code} #{mode} inline #{file}"
  export_data(content)
end
				
			

āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ—ā§‡ āĻĨā§‡āĻ•ā§‡ āĻĄāĻŋāĻĢāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž export_data āĻŽā§‡āĻĨāĻĄ āĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžā§Ÿ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻž āĻ•āĻ°āĻž āĻ†āĻ° āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻŽāĻŋāĻŸ āĻŽā§āĻ¯āĻžāĻ¸ā§‡āĻœ āĻĄāĻžāĻŸāĻž āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ•āĻ‡āĨ¤

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ•āĻžāĻœāĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽāĻžāĻ°ā§āĻ•āĻŸāĻŋāĻ•ā§‡ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĻĻā§‡ā§ŸāĻž āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‡āĻŸāĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻĒāĻžāĻ¸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

				
					return mark
				
			

āĻ¨ā§‹āĻŸāĻƒ

āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ‰āĻ¨ā§āĻĄā§‹āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļāĻŋāĻ‰āĻ° āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻž āĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻž āĻ¸ā§āĻŸā§‡āĻĒ āĻ¨āĻŋā§Ÿā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻ†āĻ—ā§‡āĻ‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ‡āĻ‰āĻ¨ā§āĻĄā§‹āĻœÂ  āĻ¨āĻŋāĻ‰ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ā§‡ CRLF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ—āĻŋāĻŸ fast-import LF āĻāĻ¸ā§āĻĒā§‡āĻ•ā§āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ°ā§āĻŦāĻŋāĻ•ā§‡ CRLF āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ LF āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

$stdout.binmode

āĻŦā§āĻ¯āĻžāĻ¸, āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ āĻļā§‡āĻˇāĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŸāĻž āĻ¯ā§‡āĻŸāĻž āĻĻāĻžāĻā§œāĻžāĻ˛ā§‹ āĻ¤āĻž āĻšāĻ˛ā§‹āĻƒ

				
					
#!/usr/bin/env ruby

$stdout.binmode
$author = "John Doe <john@example.com>"

$marks = []
def convert_dir_to_mark(dir)
    if !$marks.include?(dir)
        $marks << dir
    end
    ($marks.index(dir)+1).to_s
end

def convert_dir_to_date(dir)
    if dir == 'current'
        return Time.now().to_i
    else
        dir = dir.gsub('back_', '')
        (year, month, day) = dir.split('_')
        return Time.local(year, month, day).to_i
    end
end

def export_data(string)
    print "data #{string.size}\n#{string}"
end

def inline_data(file, code='M', mode='644')
    content = File.read(file)
    puts "#{code} #{mode} inline #{file}"
    export_data(content)
end

def print_export(dir, last_mark)
    date = convert_dir_to_date(dir)
    mark = convert_dir_to_mark(dir)

    puts 'commit refs/heads/master'
    puts "mark :#{mark}"
    puts "committer #{$author} #{date} -0700"
    export_data("imported from #{dir}")
    puts "from :#{last_mark}" if last_mark

    puts 'deleteall'
    Dir.glob("**/*").each do |file|
        next if !File.file?(file)
        inline_data(file)
    end
    mark
end

# Loop through the directories
last_mark = nil
Dir.chdir(ARGV[0]) do
    Dir.glob("*").each do |dir|
        next if File.file?(dir)

        # move into the target directory
        Dir.chdir(dir) do
            last_mark = print_export(dir, last_mark)
        end
    end
end


				
			

āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ°āĻ•āĻŽ āĻšāĻŦā§‡āĻƒ

				
					$ ruby import.rb /opt/import_from
commit refs/heads/master
mark :1
committer John Doe <john@example.com> 1388649600 -0700
data 29
imported from back_2014_01_02deleteall
M 644 inline README.md
data 28
# Hello

This is my readme.
commit refs/heads/master
mark :2
committer John Doe <john@example.com> 1388822400 -0700
data 29
imported from back_2014_01_04from :1
deleteall
M 644 inline main.rb
data 34
#!/bin/env ruby

puts "Hey there"
M 644 inline README.md
(...)


				
			

āĻāĻ–āĻ¨ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡,āĻāĻ‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•ā§‡ āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ—āĻŋāĻŸ fast-import āĻ āĻĒāĻžāĻ āĻžāĻ¨ āĻ¯ā§‡āĻ‡ āĻ—āĻŋāĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›ā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•ā§āĻ°āĻŋā§Ÿā§‡āĻŸ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ° āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻŋāĻ‚ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻœāĻ¨ā§āĻ¯ git init āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤

				
					
$ git init
Initialized empty Git repository in /opt/import_to/.git/
$ ruby import.rb /opt/import_from | git fast-import
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects:       5000
Total objects:           13 (         6 duplicates                  )
      blobs  :            5 (         4 duplicates          3 deltas of          5 attempts)
      trees  :            4 (         1 duplicates          0 deltas of          4 attempts)
      commits:            4 (         1 duplicates          0 deltas of          0 attempts)
      tags   :            0 (         0 duplicates          0 deltas of          0 attempts)
Total branches:           1 (         1 loads     )
      marks:           1024 (         5 unique    )
      atoms:              2
Memory total:          2344 KiB
       pools:          2110 KiB
     objects:           234 KiB
---------------------------------------------------------------------
pack_report: getpagesize()            =       4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit      = 8589934592
pack_report: pack_used_ctr            =         10
pack_report: pack_mmap_calls          =          5
pack_report: pack_open_windows        =          2 /          2
pack_report: pack_mapped              =       1457 /       1457
---------------------------------------------------------------------


				
			

āĻĻā§‡āĻ–āĻ¤ā§‡āĻ‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšā§Ÿ, āĻāĻŸāĻŋ āĻ•āĻŋ āĻ•āĻŋ āĻ•āĻžāĻœ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻ˛ā§‹ āĻ¸ā§‡ āĻ¸āĻ‚āĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ¸āĻŸāĻŋāĻ•ā§āĻ¸ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻāĻŋāĻšā§āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ ā§§ā§Š āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ•ā§‡ āĻŸā§‹āĻŸāĻžāĻ˛ ā§ĒāĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ āĻ‡āĻŽā§āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ git log āĻ°āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻšāĻŋāĻ¸ā§āĻŸā§‹āĻ°āĻŋ āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤

				
					$ git log -2
commit 3caa046d4aac682a55867132ccdfbe0d3fdee498
Author: John Doe <john@example.com>
Date:   Tue Jul 29 19:39:04 2014 -0700

    imported from current

commit 4afc2b945d0d3c8cd00556fbe2e8224569dc9def
Author: John Doe <john@example.com>
Date:   Mon Feb 3 01:00:00 2014 -0700

    imported from back_2014_02_03
				
			

āĻĢāĻžāĻ‡āĻ¨āĻžāĻ˛āĻŋ,āĻ°ā§‡āĻĄāĻŋ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻŋāĻ¨ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĨ¤ āĻāĻŸāĻž āĻ–ā§āĻŦāĻ‡ āĻœāĻ°ā§āĻ°āĻŋ āĻ–ā§‡ā§ŸāĻžāĻ˛ āĻ°āĻžāĻ–āĻž āĻ¯āĻžāĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ¸ā§āĻŸā§‡āĻĒ āĻŦāĻžāĻĻ āĻ¨āĻž āĻĒā§œā§‡ āĻāĻŦāĻ‚ āĻļā§āĻ°ā§āĻ¤ā§‡āĻ‡ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ“ā§ŸāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻĨā§‡āĻ•ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¸ā§‡āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ•ā§‡ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ†āĻ›ā§‡āĨ¤

				
					$ ls
$ git reset --hard master
HEAD is now at 3caa046 imported from current
$ ls
README.md main.rb
				
			

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡Â  fast-import  āĻŸā§āĻ˛āĻŸāĻŋ āĻ•āĻžāĻœā§‡ āĻ˛āĻžāĻ—āĻŋā§Ÿā§‡ āĻ†āĻ°ā§‹ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§āĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ – āĻĄāĻŋāĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻŽā§‹āĻĄÂ  āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻ•āĻ°āĻž, āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻĄāĻžāĻŸāĻž, āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒāĻ˛ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž (āĻŽāĻžāĻ°ā§āĻœāĻŋāĻ‚), āĻĒā§āĻ°āĻ—ā§āĻ°ā§‡āĻ¸ āĻ‡āĻ¨ā§āĻĄāĻŋāĻ•ā§‡āĻŸāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž, āĻāĻŦāĻ‚ āĻ†āĻ°ā§‹ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§āĨ¤ āĻ†āĻ°ā§‹ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸ āĻ¸āĻŋāĻšā§ā§Ÿā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻŦāĻ˛āĻŋāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ—āĻŋāĻŸ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻāĻ°Â  contrib/fast-import āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤