20 lines
		
	
	
		
			276 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			276 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| start_rev=$1
 | |
| end_rev=$2
 | |
| cmd=$3
 | |
| 
 | |
| 
 | |
| function main()
 | |
| {
 | |
|   revs=`git rev-list --topo-order --reverse ${start_rev}..${end_rev}`
 | |
|   for rev in $revs; do
 | |
|     git checkout --quiet $rev
 | |
|     eval $cmd
 | |
|     git reset --hard --quiet
 | |
|   done
 | |
|   git checkout ${end_rev}
 | |
| }
 | |
| 
 | |
| main "$@"
 |