Perforce搞砸了符号链接

时间:2018-02-13 21:54:47

标签: perforce

当我从perforce下载源代码时,符号链接会作为文件下载,当然,项目不会构建。这种情况发生在某些计算机和虚拟机上,但相同的符号链接在其他计算机上下载得很好。

下载文件通常是一个短文件,它只包含链接文件的路径,而不是零字节符号链接文件。

1 个答案:

答案 0 :(得分:3)

这实际上与Windows上的用户权限有关,而不是与perforce有关。问题是用户没有创建符号链接的权限,因此perforce最终会创建一个文件(在我看来,它应该生成错误消息,而不是将符号链接转换为文件)。

在大多数情况下,简单的解决方案应该是以管理员身份启动P4V,然后下载源代码。您可能必须强制它下载所有内容,因为它不会重新下载错误的符号链接,因为这些对象已存在于磁盘上。

您可以使用以下命令检查您是否拥有权限。更多here

function end_timer(){
  if (timer_instance_dictionary != null){
    timer_instance_dictionary['end_time'] = moment().format()
    historical_times.push(timer_instance_dictionary)
    timer_instance.set({})
    clearInterval(timer_interval)
  }
}

$("button[field='start_timer']").click( function(){
  end_timer()
  task_id = $(this).closest("tr").attr("id")
  upload_dictionary = current_tasks_dictionary[String(task_id)]
  upload_dictionary['start_time'] = moment().format()
  upload_dictionary['task_id'] = task_id
  timer_instance.set(upload_dictionary)
})

$("button[field='stop_timer']").click( function(){
  end_timer()
})

$("button[field='delete_task']").click( function(){
  task_id = $(this).closest("tr").attr("id")
  upload_dictionary = current_tasks_dictionary[String(task_id)]
  upload_dictionary['deleted_time'] = moment().format()
  archived_tasks.push(upload_dictionary)
  todoist_delete_task(task_id)
  alert(task_id)
})

注意:您可能能够使用文件资源管理器创建符号链接(=快捷方式),但它是命令行(上面),它将决定您是否拥有这些权限。