小编Joe*_*tro的帖子

Github Windows客户端"加载提交失败"

我有一个较大的(在约15,000个提交中)Git存储库,从命令行Git访问时似乎没问题,但是当我在Github Windows客户端中打开存储库时,我总是收到错误"加载提交失败 - 无法加载提交存储库的历史记录.您可能需要打开一个shell并调试此repo的状态."

如果我取消该错误消息,那么事情似乎没问题.我当前的问题是,是否有办法告诉客户端尝试运行哪个local-git或web-github命令失败.更一般地说,Github客户端是否有诊断模式或日志,如果可能,我可以告诉UI正在启动的命令?

谢谢,

git github github-for-windows

10
推荐指数
1
解决办法
8350
查看次数

使用Mono和MonoDevelop对C#项目文件进行Mulitargeting

我的的csproj文件都指的是同一套源文件的集合,但略有不同的目标数据使得它,所以我需要保持项目文件分开.例如,同一项目的WinPhone,XBox,Desktop,MonoTouch变种.

对于真正重复的事情,比如要编译的.cs文件列表,我想将列表合并到一个文件中,这样我就不必确保所有变体都保持同步.我最初尝试通过从.csprojs中删除源并将它们放入由所有csprojs导入的.targets文件来实现这一点,但这使源文件从VS和MonoDevelop中消失.

我的第二次尝试是将Desktop csproj文件作为主要文件,并让所有变体都使用某些条件逻辑导入csproj.这使得源文件可以从主csproj中编辑,并且它们构建成所有风格.现在,Visual Studio了解我尝试做的事情,但MonoDevelop无法构建它.在MonoDevelop解决方案中,核心DLL的iOS版本显示为灰色并显示"(未内置在活动配置中)"

我也试过xbuilding csproj和解决方案,它似乎已经解决了MonoDevelop所遇到的问题,但却解决了与解决单触组件有关的其他问题.我原以为MonoDevelop使用的是xbuild,但也许没有?

由于这适用于Windows msbuild,因此它似乎是Mono中的错误或不受支持的功能.或者也许有更好的方法来解决整个场景......我想在这里问.

具体来说,My Core.iOS.csproj文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Project
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
    DefaultTargets="Build"
    ToolsVersion="4.0" >
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>10.0.0</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{AE37B15F-F4BE-48DE-9F20-F00A601EC89E}</ProjectGuid>
    <ProjectTypeGuids>{6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <AssemblyName>Core.iOS</AssemblyName>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="monotouch" />
  </ItemGroup>
  <Import Project=".\Core.csproj" />
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>
Run Code Online (Sandbox Code Playgroud)

我的Core.csproj文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Project
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
    DefaultTargets="Build"
    ToolsVersion="4.0">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Core</RootNamespace> …
Run Code Online (Sandbox Code Playgroud)

msbuild mono xbuild monodevelop

8
推荐指数
1
解决办法
5086
查看次数

无法符号链接到 .git 目录

这可能是一些愚蠢的事情,但四处寻找我无法找到答案。我正在尝试为我的 git 项目设置预提交挂钩,使脚本可以与源代码一起进行版本控制。

似乎支持符号链接以及实现此目的的方法。当我尝试使用 .git 目录中的任何内容进行 ln 时,我收到错误“没有这样的文件或目录”。.git 目录的设置方式有什么奇怪的吗?我现在正在通过 Windows 上的 cygwin 执行此操作,以防万一。

例如,我用来设置符号链接的脚本如下所示:

#/bin/bash

HOOK_NAMES="pre-commit post-commit"
THIS_SCRIPT_DIR=$(dirname $0)
HOOK_DIR=$THIS_SCRIPT_DIR/../.git/hooks

for hook in $HOOK_NAMES; do
    ln -s -f $THIS_SCRIPT_DIR/git-hooks/$hook $HOOK_DIR/$hook
done
Run Code Online (Sandbox Code Playgroud)

谢谢,

====

跟进:这似乎是 Cygwin 的一个问题,尽管我找不到解释它的文档。这在 Linux 和 OS X 上运行良好。 Cygwin 在隐式隐藏文件夹(. 前缀)中创建符号链接时遇到问题。如果有人知道为什么我会很乐意将该解释标记为答案。

git cygwin githooks

2
推荐指数
1
解决办法
1388
查看次数