You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							59 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							59 lines
						
					
					
						
							1.8 KiB
						
					
					
				| #!/bin/bash | |
|  | |
| # TimeSafari Migration Time Tracker | |
| # Usage: ./time-migration.sh ComponentName.vue | |
| 
 | |
| if [ $# -eq 0 ]; then | |
|     echo "Usage: $0 ComponentName.vue" | |
|     exit 1 | |
| fi | |
| 
 | |
| COMPONENT=$1 | |
| TIMESTAMP=$(date +"%Y-%m-%d %H:%M") | |
| LOG_FILE="migration-times.log" | |
| 
 | |
| # Create log file header if it doesn't exist | |
| if [ ! -f "$LOG_FILE" ]; then | |
|     echo "Component,Start Time,End Time,Duration (minutes),Complexity,Issues,Commit" > "$LOG_FILE" | |
| fi | |
| 
 | |
| # Check if this is start or end | |
| if [ "$2" = "start" ]; then | |
|     echo "⏱️  Starting migration: $COMPONENT at $TIMESTAMP" | |
|     echo "$COMPONENT,$TIMESTAMP,,,,,," >> "$LOG_FILE" | |
|     echo "Run: ./time-migration.sh $COMPONENT end" | |
| elif [ "$2" = "end" ]; then | |
|     # Calculate duration and update log | |
|     START_TIME=$(grep "^$COMPONENT," "$LOG_FILE" | tail -1 | cut -d',' -f2) | |
|     if [ -z "$START_TIME" ]; then | |
|         echo "❌ No start time found for $COMPONENT" | |
|         exit 1 | |
|     fi | |
|      | |
|     # Calculate duration in minutes | |
|     START_EPOCH=$(date -d "$START_TIME" +%s) | |
|     END_EPOCH=$(date +%s) | |
|     DURATION=$(( (END_EPOCH - START_EPOCH) / 60 )) | |
|      | |
|     # Get latest commit hash | |
|     COMMIT=$(git log --oneline -1 | cut -d' ' -f1) | |
|      | |
|     echo "⏱️  Completed migration: $COMPONENT" | |
|     echo "   Duration: $DURATION minutes" | |
|     echo "   Commit: $COMMIT" | |
|      | |
|     # Update log file | |
|     sed -i "s/^$COMPONENT,$START_TIME,,,,,,$/$COMPONENT,$START_TIME,$TIMESTAMP,$DURATION,TBD,None,$COMMIT/" "$LOG_FILE" | |
|      | |
|     # Show summary | |
|     echo "📊 Migration Summary:" | |
|     echo "   Component: $COMPONENT" | |
|     echo "   Start: $START_TIME" | |
|     echo "   End: $TIMESTAMP" | |
|     echo "   Duration: $DURATION minutes" | |
|     echo "   Commit: $COMMIT" | |
| else | |
|     echo "Usage: $0 ComponentName.vue [start|end]" | |
|     echo "Example: $0 MyComponent.vue start" | |
|     echo "         $0 MyComponent.vue end" | |
| fi  |