hg branch

http://www.codingboy.com/zlog/post/21.html



Mecurial的branch使用,branch在Mercurial中使用有点特别,需要注意一下,使用不当后果自负哦。

1.>hg init my-test
2.>cd my-test

这时的branch是default,可以用如下命令查看

1.>hg branch

新建一个stable branch,并且切换过去

1.>hg branch stable
2.>hg ci –m "add stable branch"

提交stable branch

1.>hg update default –C

切换到default branch

1.>echo 1111 >> 1.txt
2.>echo 2222 >> 2.txt
3.>echo read me >> readme.txt
4.>hg ci –A –m "add some files"

在default branch上提交一些文件。

呵呵现在想把readme.txt merge到 stable branch上,Mercurial不支持,⊙﹏⊙b汗。不过可以这样做

1.>hg update stable -C
2.>hg revert –r defaut readme.txt

先切到stable branch上,在恢复一个readme.txt文件。呵呵

1.>hg status

查看一下状态时M的。直接提交

1.>hg ci –m "merge readme.txt from default branch"

可以查看一下heads发现,有两个头,一个stable的一个default,这个当然废话。不过一定记住。呵呵,后面的动作就危险了。请看

1.>hg update default –C
2.>hg branch stable –force

切到default branch上,保持当前文件,强行切到stable上。这个强。如果这个时候commit会怎么样?试试

1.>hg ci –m "nothing"

在看看heads,呵呵还是两个头,都是stable的。

这时候revert一下推到stable原始状态。

1.>hg revert –r 8

这个8是stable branch上“merger readme.txt”的那个版本,查看一下目录下的文件结构,呵呵好像和以前一样。不过如果你认为这个命令会退回到8,那就错了。看看heads会发现 仍然两个heads,都是stable,这个时候你要merge一下才可以。

1.>hg merge –r 8

不过这个时候default在哪里?看下面

1.>hg update default –C

呵呵还在,加个tag先

1.>hg tag b1.0

看看heads,如果不做上面的merge,这个时候会有3个heads。之后再做一些操作。

1.>echo 3333 >> 3.txt
2.>echo 4444 >> 4.txt
3.>hg ci –m "add 3.txt and 4.txt"

default branch多了两个文件。现在merge到stable上。

1.>hg update stable –C
2.>hg merge default

看看目录,很晕,1.txt 和2.txt没merge过来。~~~~(>_<)~~~~ 杯具呀。为什么?h都是上面hg revert –r 8搞的鬼,╮(╯▽╰)╭

总结:

1.hg branch *** 切换branch尽量少用。没事别用,用hg update 和hg merge搞定比较好。

2.merge单个文件可以用hg revert做。

hg-branch-1


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
int SendBYE(char *num, char *tag1, char *tag2) { printf("\n\t=================================================================================\n\t"); printf("\n\t===== Enter Method of Send ACK To Camera =====\n\t"); printf("\n\t=================================================================================\n\t"); int sockbye = socket(AF_INET, SOCK_DGRAM, 0); if (sockbye < 0) { printf("socket built failt!"); return -1; } struct sockaddr_in camera_bye; camera_bye.sin_family = AF_INET;//地址族 camera_bye.sin_port = htons(5060);//端口 camera_bye.sin_addr.s_addr = inet_addr("192.168.1.250"); //unsigned int ack_len = sizeof(camera_ack); bind(sockbye, (sockaddr*)&camera_bye, sizeof(camera_bye)); char sendBuf[2500]; memset(sendBuf, 0, 2500); int zishu; zishu = snprintf(sendBuf, sizeof(sendBuf), "BYE sip:%s@192.168.1.250:5060 SIP/2.0\r\n" "Via: SIP/2.0/UDP 192.168.1.200:5080;branch=z9hG4bK776asdhds;rport\r\n" "Max-Forwards: 70\r\n" "From: <sip:170010000000000001@192.168.1.200:5080>;tag=1234567890\r\n" "To: <sip:%s@192.168.1.250:5060>;tag=12345678\r\n" "Call-ID: %s\r\n" "CSeq: 21 BYE\r\n" "Content-Length: 0\r\n" "Contact: <sip:170010000000000001@192.168.1.200:5080>\r\n" "\r\n", Host_ID, Host_ID, CALLID_NAME ); printf("zishu=%d\n", zishu); printf("sendBuf=%s\n", sendBuf); int bytes = sendto(sockbye, sendBuf, sizeof(sendBuf), 0, (sockaddr*)&camera_bye, sizeof(camera_bye)); printf("bytes=%d\n", bytes); // 关闭socket close(sockbye); return 0; }写了一个向网络摄像机发送BYE的函数,发送过去后,网络摄像机回复481 Call leg/Transaction does not exist,这是什么问题
最新发布
06-08

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值