Home > Software design >  How to use github cli to auto pull all newly created or updated repos to local pc
How to use github cli to auto pull all newly created or updated repos to local pc

Time:01-07

How to use github cli to auto pull all newly created or updated repos to local pc?

I think I need to listen for new repo creation/updation and pull the repos. How to do it with cli?

If can't listen, I need to pull latest 100 repos to local machiene. How to do it?

I tried https://api.github.com/users/xxxx/repos?per_page=100. It gives in alphabetical order.

I use following code

 #!/bin/sh                                                                       
    cat repolist.txt | while read line                                              
     do                                                                              
     REPOSRC=$line                                                                   
     LOCALREPO=$line                                                                 
                                                                                     
     # We do it this way so that we can abstract if from just git later on           
     LOCALREPO_VC_DIR=$LOCALREPO/.git                                                
                                                                                     
     if [ ! -d $LOCALREPO_VC_DIR ]                                                   
    then                                                                            
       cd ~/xxxx                                                                
       gh repo clone $REPOSRC                                                       
       cd ~                                                                         
    else                                                                            
       cd ~                                                                         
       gh repo sync $REPOSRC -s $REPOSRC                                            
    fi                                                                              
    done                                                                            
    # End 

CodePudding user response:

The sort key you're looking for seems to be sort=pushed.

Try curl -s 'https://api.github.com/users/xxxx/repos?sort=pushed&per_page=100' | jq '.[].name' to verify.

  • Related