根据文档,git pull执行git fetch然后执行git merge,但是在这种情况下执行git pull origin master应该执行git fetch origin master吗?但是,它似乎没有这样做.这是一个例子.
假设我的远程源主站(在我的情况下在GitHub上)具有以下历史:
commit 1111111 : my first commit
commit 2222222 : a commit from someone else
Run Code Online (Sandbox Code Playgroud)
我只在本地进行了第一次提交作为以下节目
git checkout master
git log --pretty=format:'%h' -n 1
1111111
git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
Run Code Online (Sandbox Code Playgroud)
从这里开始,我看看结果如下:
git checkout master
git pull origin master
git log --pretty=format:'%h' -n 1
2222222
git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
Run Code Online (Sandbox Code Playgroud)
可以看出,拉实际上确实使用来自远程源的新提交来更新我的主分支,但是我的本地origin/master仍然是它的位置.强迫我做以下事情
git fetch origin master …Run Code Online (Sandbox Code Playgroud) 最终这与设置log4Net有关,但一般来说问题不是特定于日志记录.
一般来说,我想弄清楚的是在Microsoft Unity 2.0中,如何做到与Castle.Facilities.Logging.LoggingFacility相同的东西.即能够声明对记录器的依赖性并使用其注入的对象的Type初始化记录器.
本着考试的精神值得千言万语,这就是我所需要的:
class Logger_IOC_Tests
{
//[Test]
public void Logger_should_be_initialized_with_the_type_of_the_object_that_is_using_it()
{
var container = new UnityContainer();
/* Configuration Magic probably involiving registering either
* a custom IDependencyResolverPolicy or BuilderStrategy
* goes here...
*/
container.RegisterType<LoggerUser>(new ContainerControlledLifetimeManager());
var user = container.Resolve<LoggerUser>();
Assert.True(user.Logger.GetUserType() == user.GetType());
}
}
interface ILogger
{
Type GetUserType();
}
class Logger : ILogger
{
private readonly Type _type;
public Logger(Type type)
{
_type = type;
}
public Type GetUserType()
{
return _type;
}
}
class LoggerUser
{ …Run Code Online (Sandbox Code Playgroud) c# log4net dependency-injection castle-windsor unity-container
我有一个厨师食谱,使用模板生成和xml文档.该文档在文件系统上的位置并不重要; 只需要将位置传递给命令行工具,该工具将读取文件并使用它来配置应用程序.除了执行命令之外,xml文件不需要持久化.因此,在我看来,该文件应该在平台中立的临时文件目录中创建.Windows上的C:\ Temp或大多数nix机器上的/ TMP.Chef是否提供了创建临时文件,检测临时文件位置或以其他方式实现目标的方法?
我使用Alex Adamyan在此博客上找到的代码创建了一个本地化的MVC网站.
如果我使用现有的文化,这很有效.但是,我正在尝试本地化Tagalog(tl或tl-PH).Windows没有内置这种文化,因此我根据下面的代码创建了一个(我已尝试过tl和tl-PH):
public static void CreateCustomCultures()
{
var cultureBuilder = new CultureAndRegionInfoBuilder(
"tl", CultureAndRegionModifiers.Neutral);
cultureBuilder.LoadDataFromCultureInfo(new CultureInfo("en-US"));
cultureBuilder.LoadDataFromRegionInfo(new RegionInfo("US"));
cultureBuilder.IsMetric = true;
cultureBuilder.CultureEnglishName = "Tagalog";
cultureBuilder.CultureNativeName = "Tagalog";
cultureBuilder.RegionEnglishName = "Tagalog";
cultureBuilder.RegionNativeName = "Tagalog";
cultureBuilder.TwoLetterISOLanguageName = "tl";
cultureBuilder.ThreeLetterISORegionName = "PH";
cultureBuilder.Register();
var cultureBuilder2 = new CultureAndRegionInfoBuilder(
"tl-PH", CultureAndRegionModifiers.None);
cultureBuilder2.LoadDataFromCultureInfo(new CultureInfo("en-US"));
cultureBuilder2.LoadDataFromRegionInfo(new RegionInfo("US"));
cultureBuilder2.IsMetric = true;
cultureBuilder2.CultureEnglishName = "Tagalog";
cultureBuilder2.CultureNativeName = "Tagalog";
cultureBuilder2.RegionEnglishName = "Tagalog";
cultureBuilder2.RegionNativeName = "Tagalog";
cultureBuilder2.TwoLetterISOLanguageName = "tl";
cultureBuilder2.ThreeLetterISORegionName = "PH";
cultureBuilder2.Register();
}
Run Code Online (Sandbox Code Playgroud)
我的测试站点上还有四个资源文件位于〜/ …
.net globalization localization resourcemanager asp.net-mvc-2
我正在调查使用Jenkins Job-Builder(来自OpenStack)作为管理jenkins作业配置的方法.在这样做的过程中,我试图找出使用!include自定义标记从外部文件中包含作业模板的正确(最佳?)方式.
在当前的用例中,我们基本上会有一个模板将被很多工作使用.由于这里超出范围的原因,每个作业都需要存在于自己的文件中.
到目前为止,我已经得到了这个工作:
作业template.yml
name: 'pre-build-{proj}-{repo}'
project-type: freestyle
... etc ...
Run Code Online (Sandbox Code Playgroud)
作业1.yml
- job-template:
!include job-template.yml
- project:
name: job-1
proj: my-proj
repo: my-repo
jobs:
- 'build-config-{proj}-{repo}'
Run Code Online (Sandbox Code Playgroud)
这似乎是错误的,因为模板定义会在两个文件中分开,并且需要-job-template:在每个作业文件中进行不必要的重复行.我希望以下工作:
作业template.yml
- job-template:
name: 'pre-build-{proj}-{repo}'
project-type: freestyle
... etc ...
Run Code Online (Sandbox Code Playgroud)
作业1.yml
!include job-template.yml
- project:
name: job-1
proj: my-proj
repo: my-repo
jobs:
- 'build-config-{proj}-{repo}'
Run Code Online (Sandbox Code Playgroud)
不幸的是,后者导致行上的yaml解析错误- project::
yaml.scanner.ScannerError:"job-1.yml",第3行,第10列中不允许使用映射值
有没有办法将整个模板定义放入模板文件中?如果我们需要从多个文件中提取多个模板,这将变得特别烦人.
我已经在调用context(CallContext.SetData(key,data))上放置了一些数据,其中data是一种实现的类型ILogicalThreadAffinative.它实现ILogicalThreadAffinative的原因是它必须在当前应用程序中的多个线程之间共享.
但是,该应用程序还会对另一个服务进行远程调用,这就是问题所在.我的ILogicalThreadAffinative实现不可序列化,不应该.即使我将其标记为可序列化,远程应用程序也无法访问声明类型的程序集,因此无法对其进行反序列化.
那么如何在我的应用程序(AppDomain)中共享呼叫上下文数据,而不是与它碰巧需要与之交谈的每个外部应用程序共享?
我们有一本用于centos 6和7机器的食谱.在7上安装最新版本的节点,在6上安装特定版本的节点.同样在6安装需要我们不7.安装我试图找出如何写只会exectuce /断言的事情是在给国家,如果我们正在测试一个CentOS 6箱的INSPEC测试某些其他包.我该怎么做呢?
用测试厨房运行这个.
我有一个问题,应该是一个相当简单的(我认为)NHibernate用例.
我有一个经典的Parent和Child实体,如下所示:
public class Parent
{
public virtual int ParentId { get; set; }
public virtual string Name { get; set; }
public virtual IList<Child> Children { get; set; }
}
public class Child
{
public virtual int ChildId { get; set; }
public virtual Parent Parent { get; set; }
public virtual string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
映射如下:
public class ParentMap : ClassMap<Parent>
{
public ParentMap()
{
Id(x => x.ParentId).GeneratedBy.Native();
Map(x => x.Name);
HasMany(x => x.Children).KeyColumn("ParentId").Cascade.SaveUpdate();
} …Run Code Online (Sandbox Code Playgroud) 我正在使用MVC架构和IOC容器来处理WPF应用程序.目前,我正在努力解决涉及某些容器提供组件的范围和寿命的设计问题.情况就是这样.
我将概括地说IOC容器支持两个组件生命周期,单例和瞬态.但我们需要的是某些组件的中间立场.
考虑一个显示网格中记录列表的视图.当用户单击记录时,将打开一个新视图以显示记录详细信息并允许编辑.用户可以打开许多这样的视图,每个视图显示不同的记录.每个视图也有自己的模型和控制器.
在给定的模型 - 视图 - 控制器集的上下文中,存在诸如对话的一些组件,这些组件既是瞬态的又是惰性注入的.也就是说,每当我们需要显示一个实例时我们想要一个新实例,并且由于大多数这些瞬态仅在用户采取某些操作时才需要,我们最初只注入一个工厂代理.然后根据需要调用委托以执行实际的依赖项解析.
除了模型,视图和控制器之外,还有许多其他组件,我们希望每个mvc设置一个实例.例如,我们正在实现NHibernate会话模式,该模式要求在视图打开时打开会话并保持打开直到它关闭.同样,每个集合都需要自己的共享事件代理和可能的一些"其他事情".如果在创建视图时解决了所有这些依赖关系,那么这不会成为问题.我们可以将它们全部声明为瞬态并完成它.
但是,其中一些懒惰解决的依赖项本身依赖于模型,控制器或"其他东西".所以问题是,在解决延迟依赖时,委托后面的容器需要注入每个依赖项的正确实例.这当然意味着委托本身以某种方式与mvc集相关联,但如果可以解决更大的问题,这应该不是问题.
在上面我说过,我过度简化了支持的生命周期列表.大多数容器支持一些中间生命周期,例如每线程或预请求,这允许在概念上类似于我们正在寻找的范围.但这些不适用于交互式UI场景.并非每个视图都在其自己的线程上或在其他方便的上下文中提供作用域的基础.
因此,我的问题是,使用IOC容器实现每个视图(或任意任意上下文)组件生命周期的最佳方法是什么.我们目前的容器是Unity,但我们已经很好地抽象了我们可以在没有太多困难的情况下切换.因此,如果这更容易在另一个容器中实现,或者由另一个容器实现,我们可以考虑切换.
.net wpf dependency-injection ioc-container inversion-of-control
我正在尝试获取客户的卖家帐户中的所有产品.问题是亚马逊MWS ListMatchingProducts api调用返回最多10个产品的响应.实际上我想要获得卖家帐户中的所有产品.我已经努力寻找解决方案好几天了.任何有用的建议将受到高度赞赏和感谢.
.net ×3
chef-infra ×2
amazon-mws ×1
c# ×1
chef-recipe ×1
foreign-keys ×1
git ×1
git-fetch ×1
git-pull ×1
github ×1
inspec ×1
jenkins ×1
localization ×1
log4net ×1
nhibernate ×1
php ×1
wpf ×1