2014-09-23 96 views
4

受GDI分支模型awesome post的启发和this one版本碰撞脚本实际上的作用,我开始创建我自己的Git版本碰撞例程,导致产生一个小包装称为bumprHTTPS证书:混淆控制台或弹出窗口输入

但是,我不喜欢目前的处理方式(GitHub)HTTPS凭据。我正在使用this post中说明的解决方案,它效果很好,但我不喜欢这个事实,即我需要以纯文本形式在此_netrc文件中存储我的凭据。

所以我在想:

  1. 如果一个人还可以通过readline()scan()或多少类似的相同的方式使用Git的外壳时,作为提示时混淆控制台输入。见/R/bump.r代码在行454:

    input <- readline(paste0("Password for 'https://", 
        git_user_email, "@github.com': ")) 
    idx <- ifelse(grepl("\\D", input), input, NA) 
    if (is.na(idx)){ 
        message("Empty password") 
        message("Exiting") 
        return(character()) 
    } 
    git_https_password <- input 
    
  2. RStudio如何意识到推到远程Git仓库时,“插入凭证”框弹出,以及他们如何混淆的密码输入。

  3. 如果文件_netrc东西密切相关的GitHub API或者,如果这个工程HTTPS请求一般
+1

我一次也没有战斗与GitHub的API,并通过大量的思想的联合努力产生的一个小一个R函数到本地回购发送到GitHub上作为一个新的回购。代码使用'_netcr'。它可能对你有用https://github.com/trinker/qdapTools/blob/master/R/repo2github.R不能承诺这是最好的做法,但可能有有用的东西在那里。 – 2014-09-23 02:37:46

+0

谢谢你。这是你在我与之相关的职位上的努力,这让我首先参加了! :-)我会检查一下,非常感谢! – Rappster 2014-09-23 02:38:58

+0

是的,我能想到的最好的方法是将密码存储在用户的主目录中。 Dason K.建议这样做,因为它可能会被其他人访问(如果我没有记错的话)。该函数尝试删除脚本,但这不能得到保证。我想你可以用'file.exists'来检查它是否被删除,但即使如果在此步骤之前函数出现错误,删除可能不会发生。 – 2014-09-23 03:07:50

回答