使用svn,我能够在结帐时对文件运行命令,而不必先cd
进入该结账.例如:
# Located in /tmp, running svn operation on /home/d5ve/checkout
d5ve@host:/tmp> svn add /home/d5ve/checkout/myfile.txt
d5ve@host:/tmp> svn diff /home/d5ve/checkout/myfile.txt
d5ve@host:/tmp> svn commit /home/d5ve/checkout/myfile.txt
Run Code Online (Sandbox Code Playgroud)
当我使用git尝试此工作流程时,出现错误:
# Located in /tmp, attempting git operation on /home/d5ve/checkout2
d5ve@host:/tmp> git add /home/d5ve/checkout2/myfile.txt
fatal: Not a git repository (or any of the parent directories): .git
Run Code Online (Sandbox Code Playgroud)
我尝试过使用--git-dir
和--work-tree
标志,但这似乎也失败了.
任何建议git人?我经常使用这个工作流程,并且在使用git时非常想念它.
更新2016目前正确的答案是使用-C
git标志,这是在2013年版本1.8.5中引入的.请参阅/sf/answers/2512949281/
更新:基于下面的lunaryorn答案,我创建了一个简单的perl脚本,它从文件路径中计算出.git目录的位置,并为命令设置GIT_WORK_TREE和GIT_DIR环境变量.
请查看:http://github.com/d5ve/rgit
用法:rgit COMMAND [ARGS]
基本上只需在命令中用rgit替换git,就可以从存储库外部运行命令.
cd /tmp
rgit diff /home/d5ve/checkout1 …
Run Code Online (Sandbox Code Playgroud) iptables --append(-A)命令允许您添加多个相同的规则,并且您似乎必须运行相同数量的--delete(-D)命令才能再次删除它们.
iptables联机帮助页说--delete命令可以从选定的链中删除一个或多个规则.如何在单个操作中使用--delete命令删除所有匹配的规则?
在一个脚本中,我可以循环调用--delete直到我获得非零退出状态,但这看起来很苛刻.
$ # Add two identical rules.
$ /sbin/iptables --append OUTPUT --protocol tcp --destination example.com --jump DROP
$ /sbin/iptables --append OUTPUT --protocol tcp --destination example.com --jump DROP
$ /sbin/iptables -L OUTPUT -v
Chain OUTPUT (policy ACCEPT 6 packets, 780 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP tcp -- any any anywhere 93.184.216.119
0 0 DROP tcp -- any any anywhere 93.184.216.119
$ # Delete a single rule - can …
Run Code Online (Sandbox Code Playgroud) 我有一堆由dbicdump / DBIx::Class::Schema::Loader从我的数据库模式创建的 DBIx::Class Result 类
我需要向is_deleted
其中一个表添加一个布尔列,并过滤掉所有现有搜索和联接中已删除的记录。
不幸的是,在庞大的 perl 应用程序中有 30 或 40 个直接使用相关表的地方,并且至少有相同数量的通过prefetch
或join
属性加入它的地方search()
。手动更改它们是可能的,但非常耗时。
有没有办法向来自或来自特定表的WHERE
所有查询添加默认子句?SELECT
JOIN
我正在通过某种方式能够调用resultset('MyTable')->search({},{})
并WHERE is_deleted = 0
添加到所有查询中。加上is_deleted = 0
使用时应用相同的过滤器prefetch => [qw(my_table)],
。